CocosCreator Java传参数到JS

最近正在接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()+"\");");
             }
        });
    }
}

 

 

你可能感兴趣的:(CocosCreator,android)