android微信分享
来源:互联网 发布:pdf文档修改软件 编辑:程序博客网 时间:2024/05/04 15:06
下文只讨论使用友盟分享微信,qq等实现方式,
微信分享主要还是三步,第一,申请appkey,申请的时候需要填写keystore文件中的md5和packagename,注意填写的时候需要将eclipse打包最后一步中的md5中间的冒号去掉,另外,将大写换成小写,最后也就是一个字符串,将这个字符串填写进去才行,
微信开放平台地址:
https://open.weixin.qq.com/
检验是否填写正确可以去微信开放平台下载Gen_Signature_Android.apk,打开这个apk,填写进去你要申请appkey的packagename,获取到md5,如果和你填写的一致,说明填写正确,否则,填写错误。
apk下载地址:
https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk
第二步:等待审核通过,目前只有审核通过的才可以进行分享,审核通过后,会给你一个appid,appsecret,这俩个字段需要在代码中用到。
第三步:编码完成分享,两个思路,第一个可以直接在友盟的官网中下载demo,然后替换appid,appsecret,替换keystore文件,就是将demo中的keystore文件替换系统默认的debug.keystore文件,第二个,可以下载已经写好的示例demo,比如umeng_third_login,然后还是替换appid,appsecret,替换keystore文件。
这里是否分享成功需要正确配置manifest文件,如下
<!-- 分享内容编辑页 --> <activity android:name="com.umeng.socialize.view.ShareActivity" android:configChanges="orientation|keyboard" android:launchMode="singleTask" android:noHistory="true" android:theme="@style/Theme.UMDialog" android:windowSoftInputMode="stateVisible|adjustResize" > </activity> <!-- 腾讯SSO授权的Activity注册 --> <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory="true" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent100424468" /> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- 微信回调activity --> <activity android:name=".wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- 易信回调activity --> <activity android:name=".yxapi.YXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- 人人SSO授权所需的OAuthActivity --> <activity android:name="com.renn.rennsdk.oauth.OAuthActivity" android:configChanges="orientation|navigation|keyboardHidden" /> <!-- facebook相关 --> <activity android:name=".activity.FacebookActivity" > </activity> <activity android:name="com.facebook.LoginActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
然后在代码中创建包,wxapi目录,新建WXEntryAcivity类,如果想处理分享返回事件,可以写具体代码,如果不想处理,直接写一个空继承也行,比如:
public class WXEntryActivity extends WXCallbackActivity {}
也可以写:
/** 微信客户端回调activity示例 */ public class WXEntryActivity extends Activity implements IWXAPIEventHandler { // IWXAPI 是第三方app和微信通信的openapi接口 private IWXAPI api; @Override protected void onCreate(Bundle savedInstanceState) { api = WXAPIFactory.createWXAPI(this, "这里替换第一步申请的APP_ID", false); api.handleIntent(getIntent(), this); super.onCreate(savedInstanceState); } @Override public void onReq(BaseReq arg0) { } @Override public void onResp(BaseResp resp) { LogManager.show(TAG, "resp.errCode:" + resp.errCode + ",resp.errStr:" + resp.errStr, 1); switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: //分享成功 break; case BaseResp.ErrCode.ERR_USER_CANCEL: //分享取消 break; case BaseResp.ErrCode.ERR_AUTH_DENIED: //分享拒绝 break; } } }同样,这个类需要在manifest中声明,然后在需要分享的地方直接编写分享代码就可以:
例如:
/** * @功能描述 : 添加微信平台分享 * @return */private void addWXPlatform() {// 注意:在微信授权的时候,必须传递appSecret// wx967daebe835fbeac是你在微信开发平台注册应用的AppID, 这里需要替换成你注册的AppIDString appId = "xxxxx";String appSecret = "xxxxxxxxxxxxxxxxxx";// 添加微信平台UMWXHandler wxHandler = new UMWXHandler(SettingsActivity.this, appId,appSecret);wxHandler.addToSocialSDK();// 支持微信朋友圈UMWXHandler wxCircleHandler = new UMWXHandler(SettingsActivity.this,appId, appSecret);wxCircleHandler.setToCircle(true);wxCircleHandler.addToSocialSDK();}
mController.getConfig().setPlatforms(SHARE_MEDIA.WEIXIN,SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE, SHARE_MEDIA.SMS);mController.openShare(SettingsActivity.this, false);
这样就打包签名处apk以后,就可以分享微信,朋友圈了。
注意keystore文件,在调试状态下,需要将正确的keystore文件替换debug.keystore文件才行,否则分享不成功,还有manifest文件中权限需要声明正确完整。
如果都填写正确,还是分享不正确,提示errcode_deny的话,请尝试清理微信的缓存和数据,再进行尝试分享,或许就可以分享成功。
以上是微信分享,qq分享类似,稍微比微信分享简单点。
参考链接:
http://www.cnblogs.com/android100/p/Android-qq.html
http://bbs.umeng.com/thread-7768-1-1.html
http://www.360doc.com/content/14/0908/06/9200790_407759192.shtml
http://bbs.umeng.com/forum.php?mod=viewthread&tid=5832&extra=page%3D1%26filter%3Ddigest%26digest%3D1
- android微信分享
- Android 微信分享
- android微信分享
- Android: 微信分享
- Android微信分享
- android 微信分享
- Android 微信分享
- Android 微信分享
- Android微信分享
- android 微信分享
- Android微信分享
- Android微信分享
- android分享之微信分享
- android 微信朋友分享,朋友圈分享
- 【Android 分享】ShareSDK微信分享详解
- Android微信分享和邮件分享
- 【Android 分享】ShareSDK微信分享详解
- 【Android 分享】ShareSDK微信分享详解
- python有三种导入模块的方法
- JAVA多线程 <三>单例模式下的多线程问题
- HttpClient使用详解
- forforDemo.java
- mysql数据库或表统计大小
- android微信分享
- LeetCode第13题--Roman to Integer(Java实现)
- mongodb 常用指令
- 华为手机调试没有LOG解决方案
- oracle pctfree和pctused详解
- ForTest.java
- 深圳小产权房布吉花园
- 通讯录取电话号码和联系人名字
- 一个猜数字的小练习