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