CocosCreator Java传参数到JS

news/2024/7/24 6:15:59 标签: CocosCreator, Java, Javascript

最近正在接GooglePlay内购,在传参数回CocosCreator的环境的时候,没有调用到JS的方法。

 其中错误的写法是: 

app.runOnGLThread(new Runnable() {
    @Override
    public void run() {
        Cocos2dxJavascriptJavaBridge.evalString("buyDiamond("+purchase.getSku()+","+purchase.getPurchaseToken()+");");
    }
});

因为我们传入的是字符串,比如:

purchase.getSku()的值是"purchase_test1"

purchase.getPurchaseToken()的值是"MD5"

 

这样传入到CocosCreator的JS语境就是这样的:

buyDiamond(test1,MD5);

这样就是在调用变量名为test1的变量和名MD5的变量。

所以调用不成功。

所以,要用以下正确的用法


public class AppActivity extends Cocos2dxActivity {

    static AppActivity app = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        .....
    }

    public void test() {
        //TODO:发放商品
        app.runOnGLThread(new Runnable() {
            @Override
            public void run() {
                Cocos2dxJavascriptJavaBridge.evalString("buyDiamond(\""+purchase.getSku()+"\",\""+purchase.getPurchaseToken()+"\");");
             }
        });
    }
}

 

 


http://www.niftyadmin.cn/n/1300982.html

相关文章

COM与DLL的区别

这阵子在想一个需要利用com组件的小程序怎么做,突然想起上次去面试的时候考官问过autocad开发时为什么要利用com,而不采用一般的dll呢? 到google上查了一下,许多人也问了一样的问题:) 用com来写程序…

CocosCreator JS追踪堆栈信息

在开发过程中,可能有这样的需求:即使在没有报错的情况,也需要查看该函数的堆栈调用信息。 对于这样的需求,我们可以使用JS原生的console.trace来实现。 具体代码: export let TraceArr [];console.trace function…

深入解析ES6中的迭代器(Iterator)和生成器(Generator)

用循环语句迭代数据时,必须要初始化一个变量来记录每一次迭代在数据集合中的位置,而在许多编程语言中,已经开始通过程序化的方式用迭代器对象返回迭代过程中集合的每一个元素 迭代器的使用可以极大地简化数据操作,于是ES6也向JS中…

OSI七层网络模型 TCP/IP 三次握手 四次挥手

1、概念 OSI 七层模型 (开放系统互联 Open System Interconnection )

CocosCreator多语言包的处理

如果项目需要国际化的处理,也就是需要切换语言的功能时,一般有两种方案: 单个包 优点: 1.可以动态切换语言(当然要代码上实现) 2.只有一个版本,容易维护 缺点: 1.安装包大 多…

React 的几种条件渲染以及选择详解

对于一个展示页面来讲, 通常有好几种展示状态(以列表页为例): 数据为空, 空页面取数据时发生错误, 错误页面数据正常加载状态 针对以上三种情况, react渲染列表的时候要正确判断并渲染出相应的视图, 也就是条件渲染. 不同于vue的v-if, v-show等框架提供的api, react的条件渲染…

Android判断系统语言是简体还是繁体

在SDK的版本为24之前,我们获取语言的配置是通过 getResources().getConfiguration().locale; 来获取的,但是24之后(包括24)“.locale”就弃用了,需要 getResources().getConfiguration().getLocales().get(0); 来获…

Android获取唯一标识码

博客转载自:https://www.jianshu.com/p/a185d3a702c6 在我们的APP开发中,通常需要获取到设备的唯一标识。在Android6.0之前,有很多方法我们可以方便获取到硬件的唯一标识,但是在Android6.0之后,Android系统大幅限制了我…