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 ...
随机推荐
- 准备你的Adempiere开发环境(1)- 编译
1. 安装JDK 1.6. 2. 安装Eclipse IDE for Java EE Developers. 3. 导入adempire-360lts: 4. 关闭adempiere-360lts的B ...
- SpringMVC学习小结
配置web.xml: <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-cl ...
- 数据库表syscolumns 各个字段含义 select * from syscolumns where name='textA'
每个数据库创建后都会有一些系统表用来存储该数据库的一些基本信息 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行.该表位于每个数据库中. 列名 数据类型 描述 name sysna ...
- Html5——File、FileReader、Blob、Fromdata对象
File File 接口提供有关文件的信息,并允许网页中的JavaScript访问其内容. File对象可以用来获取某个文件的信息,还可以用来读取这个文件的内容.通常情况下,File对象是来自用户在一 ...
- atitit.流程标准化--- mysql启动不起来的排查流程attilax总结
atitit.流程标准化--- mysql启动不起来的排查流程attilax总结 1. mysql的启动日志文件 1 2. console方式 1 3. 安装为服务 1 3.1. 使用默认配置文件 1 ...
- layui的单选框
<script type="text/html" id="radioTpl"> <input type="radio" n ...
- 如何使用ip端口来浏览自己的网站
现在做网站的朋友越来越多,域名注册后往往需要进行备案,而在备案期间我们的域名又不能正常打开,在服务器上直接编辑浏览我们的网站有些棘手,思来想去,在我们购买的服务器ip后面加上个端口来达到域名一样的效果 ...
- linux学习笔记16--命令find
find是linux系统中用的比较多的一个命令,而且功能强大,特别是对各种查找方式的不确定位置的文件的查找. Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提 ...
- jquerymobile动态添加元素之后
jquerymobile动态添加元素之后有些不能被正确渲染的解决方法:listview: 添加 jq(".detail").listview("refresh&quo ...
- 如何使用NFS
这两个网卡之间可以通信的,如图所示 也可以写成具体的ip地址,或者ip地址段例如192.168.1.2-200 注意看下面这幅图,路径一定要写完整 下面开始挂载共享的目录 挂载之后什么都没有出现说明挂 ...