版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/7574561.html
上一遍讲了微信分享的一些坑,然后就忘了回调这事儿了,今天补上,回调的东西比较简单,但是还是有一些注意事项,先上代码
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
private IWXAPI api;
private static final String appId = "appid"; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
api = WXAPIFactory.createWXAPI(this, appId, false);
api.registerApp(appId);
api.handleIntent(getIntent(), this);
} @Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
api.handleIntent(intent, this);
} // 微信发送请求到第三方应用时,会回调到该方法
@Override
public void onReq(BaseReq req) { } // 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
@Override
public void onResp(BaseResp resp) {
UnityPlayer.UnitySendMessage("ShareManager", "WechatCallBack", "" + resp.errCode);
finish();
}
}
如果要正确的收到回调,必须要在你的包下面新建一个wxapi的文件夹,然后在wxapi文件夹下创建WXEntryActivity类,并声明IWXAPIEventHandler
特别注意的是,wxapi文件夹必须是包的第一级目录,比如你的包名是com.xxx.ccc,那WXEntryActivity类的package必须是com.xxx.ccc.wxapi
onResp函数就是发送微信请求处理后会自动回调的函数,所以我们在这里执行unity里的回调函数,后面加上finish(),不加就不会自动回到unity了
此外,AndroidManifest.xml文件中需要加上WXEntryActivity的activity标签
红线划掉的地方是微信开发平台里申请的应用appid
到这里,微信分享就基本完成了