AppActivity.java 中
public static void onWeChatLogin() {
//发起登陆请求前先注册微信api
IWXAPI api = WXAPIFactory.createWXAPI(activity, APP_ID, true);
api.registerApp(APP_ID);
//建议动态监听微信启动广播进行注册到微信
activity.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 将该app注册到微信
api.registerApp(APP_ID);
}
}, new IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP));
if (!api.isWXAppInstalled()) {
goToWxMarket(activity);
} else {
Log.e(TAG, "===========================================================");
final SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";
req.state = "wechat_sdk_demo_test";
api.sendReq(req);
}
}
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
wxEntryActivity = this;
// 1. 初始化IWXAPI(关键步骤)
iwxapi = WXAPIFactory.createWXAPI(wxEntryActivity, APP_ID, true);
// 2. 注册到微信
iwxapi.registerApp(APP_ID);
iwxapi.handleIntent(getIntent(), this);
};
@Override
public void onReq(BaseReq baseReq) {
Log.e(TAG, "1返回的数据: " + baseReq.toString());
}
@Override
public void onResp(BaseResp resp) {
Log.e(TAG, "2返回的数据: " + resp.toString());
}
}
AndroidManifest.xml
...
build.gradle
api 'com.tencent.mm.opensdk:wechat-sdk-android:+'
proguard-rules.pro
-keep class com.tencent.mm.opensdk.** {
*;
}
-keep class com.tencent.wxop.** {
*;
}
-keep class com.tencent.mm.sdk.** {
*;
}
build.gradle
compileSdkVersion 33
buildToolsVersion 30.0.3
报错信息
能成功唤醒微信授权,并返回,但WXEntryActivity的onReq与onResp没有数据返回 复现:cocos creator 2.4.15导包安卓 ndk22.1.7171670 JDK17 gradle8.0.2
这10042是个啥错误啊,问客服,客服让我发到这里,文档中还搜不到这个错误码
