Tag: in app billing

在Cocos2dx中的主/ UI线程上运行代码

编辑:所以问题出在Java方面。 购买完成的听众没有被调用。 这非常有用: IabHelper PurchaseFinishedListener 我的Cocos2dx游戏在Android和iOS上运行良好。 只考虑给我带来麻烦的是Android In-App Billing。 我正在使用JNI从C ++调用Java。 Java代码在Google Play计费系统中来回传递,最终回调C ++代码,指示给用户多少钱(成功购买金额)。 从Java到C ++的调用正在做一些非常奇怪的事情。 运行的C ++代码应该更新两件事的显示。 但是它只更新一个并且它不一致。 此外,从Java到C ++的多次调用导致CCNodes忽略触摸并执行其他奇怪的操作。 在阅读了类似的问题后,我意识到Java或C ++调用可能不在主/ UI线程上。 所以我试着解决这个问题: // Java code IabHelper.OnConsumeFinishedListener mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() { public void onConsumeFinished(Purchase purchase, IabResult result) { if (result.isSuccess()) { String sku = purchase.getSku(); if (sku.equals(IAB_ID_ABC)) { me.runOnUiThread(new Runnable() { public […]