微信分享配置回调Activity中android:exported="true"的一个坑

来源:互联网 发布:淘宝店铺宝贝描述尺寸 编辑:程序博客网 时间:2024/06/08 21:38

在做微信分享的时候,需要用到一个微信的回调Activity:WXEntryActivity

用的是百度的frontia的分享功能

需要用到微信的jar包,可以去开放平台获取

public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler {

这个activity需要实现一个接口,接口回调函数

// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法@Overridepublic void onResp(BaseResp resp) {switch (resp.errCode) {case BaseResp.ErrCode.ERR_OK:if(wxresp!=null)wxresp.onSuccess();Toast.makeText(this, "发送成功", Toast.LENGTH_LONG).show();finish();break;case BaseResp.ErrCode.ERR_USER_CANCEL:if(wxresp!=null)wxresp.onFail();Toast.makeText(this, "分享取消", Toast.LENGTH_LONG).show();finish();break;case BaseResp.ErrCode.ERR_AUTH_DENIED:Toast.makeText(this, "分享被拒绝", Toast.LENGTH_LONG).show();finish();break;default:Toast.makeText(this, "分享返回", Toast.LENGTH_LONG).show();break;}}

最后需要注意的是在manifest里面配置这个activity,必须配置启动模式为singleInstance,这个启动模式会开辟另外一个栈来启动,因为要调用微信客户端里的界面,所以是在另外一个栈来实现,如果对这个模式不是很了解,个人觉得郭霖的第一行代码里面讲的很明了,推荐看看

<activity android:name="com.xxx.xxx.wxapi.WXEntryActivity"            android:launchMode="singleInstance"            android:exported="true"            android:windowSoftInputMode="adjustPan|adjustUnspecified|stateHidden"            android:screenOrientation="portrait"/>

这样这个回调activity才会回调。之前一直没回调就是因为没配置singleInstance!!!


之前理解错误了,以为是没配置singleInstance,其实是没配置android:exported="true"这个,尴尬了!!!!!误导大家了,抱歉!

不过很奇怪我用的百度的frontia分享组件,微信分享需要额外的一个activity,腾讯qq分享不需要额外的activity,但两个平台都需要到相应地方通过审核拿到key才能用


0 0
原创粉丝点击