在做微信分享的时候,需要用到一个微信的回调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!!!