-
Creator 版本: 3.8.3
-
目标平台:Android
-
遇到的问题:
备注:第一次接触Cocos creater开发,遇到的问题及解决方法,记录一下
1,ts里使用了wobsocket,编译后无法连接
2,ts调用Android原生微信授权登录
- 解决办法:
1,查了一堆论坛以及各搜索引擎,什么证书之类的,还有Android代码里使用Java版本的websocket依赖的,都试了,可能是我没仔细看文档,或者是哪里的问题,最后才发现解决方式很简单,自带的就有,初次接触,希望可以帮到其他新来的兄弟,直接看他,勾选后重新编译即可
2,使用新版本,跟之前查到的方案有些不一样,
ts调用直接放代码:
import { native } from 'cc';
native.reflection.callStaticMethod( "com/cocos/game/AppActivity", "wxLogin", "(Ljava/lang/String;)V","调用微信授权");
构建好后的Android代码里有AppActivity类,oncreat里放注册:
// 注册到微信
IWXAPI api = WXAPIFactory.createWXAPI(this, APP_ID, true);
api.registerApp(APP_ID);`
这样打开后就会注册了,自定义一个静态方法用作微信授权登录,对应上面的ts调用:
IWXAPI api直接放到AppActivity头部,自定义一个静态变量,方便上下调用,对应上面的注册:
private static IWXAPI api;
以下的静态微信授权登录:
public static void wxLogin(String data) {
Log.e("AppActivity", "==========wxLogin: 调起微信");
Log.e("AppActivity", "==========wxLogin: 调起微信====" + data);
if (!api.isWXAppInstalled()) {
//todo 提醒未安装微信
return;
}
//开始发起登陆请求
final SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";
req.state = "自定义state";
api.sendReq(req);
}
完事
