unity探索者之微信分享回调

版权声明:本文为原创文章,转载请声明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.wxapi
onResp函数就是发送微信请求处理后会自动回调的函数,所以我们在这里执行unity里的回调函数,后面加上finish(),不加就不会自动回到unity了
此外,AndroidManifest.xml文件中需要加上
WXEntryActivity的activity标签

红线划掉的地方是微信开发平台里申请的应用appid

到这里,微信分享就基本完成了

 

 

由于环境不同关系,并非所有的博客内容都会上传完整的源码,大部分的源码,大家可以到我的github主页上的UGCFramework查找

传送门:https://github.com/wulonghao/UGCFramework
原文地址:https://www.cnblogs.com/unityExplorer/p/7574561.html