cocos2dx-android プロジェクトにアプリ内課金を追加しようとしています。jni を介して C++ クラスから Java 関数を呼び出すことができます。
これは、jni を介して Java 関数を呼び出す方法です。
JniMethodInfo t;
JniHelper::getStaticMethodInfo(t
, "com/test/project/Project"
, "BuyProduct"
, "(Ljava/lang/String;)V");
char buffer[20];
sprintf(buffer,"product1");
jstring StringArg1 = t.env->NewStringUTF(buffer);
t.env->CallStaticVoidMethod(t.classID, t.methodID, StringArg1);
アプリ内課金は正常に機能していますが、製品の購入が成功したかどうかを通知するために、C++ クラスにコールバックする必要があります。
指定された戻り値の型に言及することによってのみ、呼び出されたメソッドから結果を返すことができましたが、非同期プロセスであるアプリ内プロセスは多くのメソッド呼び出しを通過し、私のコントロールは同じメソッドに返されません。したがって、値を返すことはできません。
Java関数から私のC ++クラスに値(私の場合はアプリ内購入の結果)を渡す他の方法はありますか???