微信分享配置回调Activity中launchMode="singleInstance"的一个坑
时间:2015-03-30 11:29:05
收藏:0
阅读:2247
在做微信分享的时候,需要用到一个微信的回调Activity:WXEntryActivity
需要用到微信的jar包,可以去开放平台获取
public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler {这个activity需要实现一个接口,接口回调函数
// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
@Override
public 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!!!
评论(0)