cocos3.x 接入微信无法调用回调函数onResp的问题
要想顺利调用必须保证一下几点:
1.WXEntryActivity的包名必须正确,格式为你的APK包名+wxapi.WXEntryActivity(注意:是apk包名,而不是org.cocos2dx.cpp,我就是这个问题调了1天。。。。。)
2.WXEntryActivity在AndroidManifest.xml的配置
<!--微信回调-->
<activity
android:name="xx.xxx.xxx.wxapi.WXEntryActivity"
android:label="@string/app_name"
android:exported="true">
android:launchMode="singleTask"
</activity>
3.在onCreate和onNewIntent
中调用 IWXAPI的handleIntent(this.getIntent(), this);
附上WXEntryActivity代码
package com.hongyou.hongyoudragonsky.wxapi; /**
* Created by Administrator on 2018/1/8.
*/ import android.app.Activity;
import android.content.Intent; import android.os.Bundle;
import android.util.Log; import com.tencent.mm.opensdk.constants.ConstantsAPI;
import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp;
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler; import org.cocos2dx.cpp.WChatShare;
import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
import org.cocos2dx.lib.Cocos2dxLuaJavaBridge; /**
* Created by Administrator on 2018/1/7.
*/
public class WXEntryActivity extends Activity implements IWXAPIEventHandler { public static String LogFlag = "WXEntryActivityTag"; public static String ShareResult = "-1";
private static int _shareCallBackLuaFunc = 0; //分享回调lua接口 //设置分享回调lua接口
public static void SetShareCallBackLuaFunc(final int luaFunc) {
//log
Log.i(LogFlag, "----call WXEntryActivity.SetShareCallBackLuaFunc--------"); _shareCallBackLuaFunc = luaFunc; } @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //log
Log.i(LogFlag, "----call WXEntryActivity.onCreate--------"); WChatShare.api.handleIntent(this.getIntent(), this); } @Override
protected void onNewIntent(Intent intent) {
//log
Log.i(LogFlag, "----call WXEntryActivity.onNewIntent--------"); super.onNewIntent(intent); setIntent(intent); WChatShare.api.handleIntent(intent, this);
} @Override
public void onReq(BaseReq baseReq) { //log
String logStr = "----call WXEntryActivity.onReq() ";
Log.i(LogFlag, logStr); switch (baseReq.getType()) {
case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
Log.i(LogFlag, "type=COMMAND_GETMESSAGE_FROM_WX");
break;
case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
Log.i(LogFlag, "type=COMMAND_SHOWMESSAGE_FROM_WX");
break;
default:
break;
} finish();
} @Override
public void onResp(BaseResp baseResp) {
//log
String logStr = "----call WXEntryActivity.onResp--0-- ";
Log.i(LogFlag, logStr); switch (baseResp.errCode) {
case BaseResp.ErrCode.ERR_OK:
ShareResult = "0";
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
ShareResult = "1";
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
ShareResult = " 2";
break;
case BaseResp.ErrCode.ERR_UNSUPPORT:
ShareResult = "3";
break;
default:
ShareResult = "4";
break;
} if (_shareCallBackLuaFunc > 0)
{ Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {
@Override
public void run() { Cocos2dxLuaJavaBridge.callLuaFunctionWithString(_shareCallBackLuaFunc, ShareResult);
}
}); } finish();
} @Override
public void run() {
Cocos2dxLuaJavaBridge.callLuaFunctionWithString(_shareCallBackLuaFunc, _result);
}
} }
4.必须用你在微信开发平台审核通过的Appid和apk包签名
cocos3.x 接入微信无法调用回调函数onResp的问题的更多相关文章
- 常用js,css文件统一加载方法,并在加载之后调用回调函数
原创内容,转载请注明出处! 为了方便资源管理和提升工作效率,常用的js和css文件的加载应该放在一个统一文件里面完成,也方便后续的资源维护.所以我用js写了以下方法,存放在“sourceControl ...
- python 并发编程 同步调用和异步调用 回调函数
提交任务的两张方式: 1.同步调用 2.异步调用 同步调用:提交完任务后,就在原地等待任务执行完后,拿到结果,再执行下一行代码 同步调用,导致程序串行执行 from concurrent.future ...
- is_callable Callbacks / Callables What is a “callable”? 可调用 回调函数
PHP: Callback / Callable 类型 - Manual https://www.php.net/manual/zh/language.types.callable.php Callb ...
- 网站实现微信登录之回调函数中登录逻辑的处理--基于yii2开发的描述
上一篇文章网站实现微信登录之嵌入二维码中描述了如何在自己的登录页面内嵌入登录二维码,今天的这篇文章主要是描述下在扫码成功之后微信重定向回网站后登录逻辑的处理,其实也就是验证身份信息,授权用户登录的逻辑 ...
- WCF 服务器调用回调函数 单程-双程操作模式:(待补充Demo)
服务器端Server 实现回调接口Interface定义.客户端实现回调接口Interface实现,从而实现服务器端通过 var channel = OperationContent.Current ...
- 调用回调函数出现或者大循环出现has triggered a breakpoint
triggered a breakpoint 的意思是触发一个断点.这个问题一般发生在程序运行过程中.下面是错误发生显示的信息:Windows has triggered a breakpoint i ...
- 项目记录 -- python调用回调函数
C源文件: static int get_callback(zpool_handle_t *zhp, void *data) { zprop_get_cbdata_t *cbp = (zprop_ge ...
- call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数
<?php function foobar($arg, $arg2) { echo __FUNCTION__, " got $arg and $arg2\n"; } clas ...
- [Effective JavaScript 笔记]第67条:绝不要同步地调用异步的回调函数
设想有downloadAsync函数的一种变种,它持有一个缓存(实现为一个Dict)来避免多次下载同一个文件.在文件已经被缓存的情况下,立即调用回调函数是最优选择. var cache=new Dic ...
随机推荐
- Mybatis <Sql>标签
重复的SQL预计永远不可避免,<sql>标签就是用来解决这个问题的 <sql id="sql1">id,name,age,gender</sql> ...
- struts 页面调用Action的指定方法并传递参数
如果为action配置了类,那么默认就会执行Action类的excute方法,Action类的写法三种: ① public class Action1 { public String execute( ...
- (二)Luence——代码实现索引及搜索
完成需求:使用Lucene完成对数据库中图书信息的索引和搜索功能. 1. 环境准备及工程搭建 1.1 环境准备 mysql5.5+java8+lucene4.10.3(目前最新7.0.1,这里够用就好 ...
- 实现对数据进行分组小计并计算合计的实例 asp.net
可以通过数据绑定来实现 通过union all 来实现数据库 SELECT * FROM v3_pay_list2 where ( (ought_date >= '2012-12-06') a ...
- sklearn中xgboost模块中plot_importance函数(特征重要性)
# -*- coding: utf-8 -*- """ ######################################################### ...
- php学记笔记之函数用途
echo '<pre>';//格式化输出字符 isset();//判断变量是否存在 array_key_exists('key',$arr);//判断数组下标是否存在 in_array(' ...
- unity, GetComponent<MeshRenderer>().sharedMaterial 与 GetComponent<MeshRenderer>().material
我多个物体用的是同一个material,当我用gameObject.GetComponent<MeshRenderer>().sharedMaterial.SetColor("_ ...
- Atitit. 。Jna技术与 解决 java.lang.Error: Invalid memory access
Atitit. .Jna技术与 解决 java.lang.Error: Invalid memory access 1. 原因与解决1 2. jNA (这个ms sun 的)1 3. Code1 4. ...
- atitit。html css框架Bootstrap Foundation的比较与不同 attilax大总结
atitit.html css框架Bootstrap Foundation的比较与不同 attilax大总结 1. Bootstrap Foundation的比较与不同1 2. Bootstrap ...
- location alias与root
网站的根目录是:/alidata/www/webtest [root@M webtest]# tree /alidata/www/ /alidata/www/ ├── abc.html └── web ...