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 ...
随机推荐
- vim 中Taglist的安装和使用
将vim 改造成功能强大的IDE系列之二 『插件介绍』 Taglist是vim的一个插件,提供源代码符号的结构化视图. 效果图:(直接使用了别人的图片.在我机器上也差不多-) 『下载和安装』 1)从h ...
- Python 入门demo第一篇
#-*- coding: UTF-8 -*- 2.7版本对中文的要求 import uuid import socket def get_mac_address(): mac=uuid.UUID(in ...
- Hibernate 多对一关联查询
版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5598269.html 一.单向多对一和双向多对一的区别 如果只 ...
- 【OpenGL基础篇】——使用面向对象方法封装OpenGL函数(二)
今天封装了一个Line类.负责在昨天写的窗体上绘制线条. OpenGL画图是通过给glBegin函数设置參数达成的,绘制线条有三个不同的參数: GL_LINES : 绘制连接两个点的线段(绘制的端点位 ...
- php json_decode失败,返回null
在使用json_decode之前,一定得保证字符串是utf-8编码,而执行json_decode失败的原因有很多,罗列如下: 1)编码不对: 2)字符串格式不对: 3)字符串格式对,但是有异常字符: ...
- flashback database(drop tablespace)
1.首先记录时间 select to_char(systimestamp,'yyyy-mm-dd HH24:MI:SS') from dual;--2014-04-25 13:55:48 查看表sel ...
- php中数据类型自动转换
1.1 转为布尔型(即返回值为0) 空字符串''或"" 数字0或0.0 字符'0'或"0" 空值NULL 没有成员的数组 其余都转换成布尔型true,包含 ...
- MAC 通过brew安装软件
1.安装brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/instal ...
- AssionShop开源B2C电子商务系统-概述(转载)
今天是个特殊的日子,我在北京房租价格又上了一个新的台阶.在这个日子我准备开始建立一个开源项目,一个B2C行业的EC系统. 一.关于定位 我要做的不只是一个商城,应该说是一个能满足中小型企业建立电子商务 ...
- Effective JavaScript Item 37 认识this的隐式指向
本系列作为Effective JavaScript的读书笔记. CSV数据通常都会被某种分隔符进行分隔.所以在实现CSV Reader时,须要支持不同的分隔符.那么,非常自然的一种实现就是将分隔符作为 ...