JNI を使用して、Java ライブラリ (JAR) からいくつかの関数を呼び出しています。これらの関数の 1 つは、いくつかのコールバック (成功とエラー) を持つリスナーを必要とします。これらのコールバックを処理するために必要な関数は、ネイティブ コードにあります。ネイティブ コードからこれらのネイティブ関数を使用してリスナーを作成し、それを JNI 経由で渡すことは可能ですか?
インターフェイス自体は公開されていませんが、Google ヘルパーを使用して購入フローを開始する InApp Purchase と同じように機能します。
mHelper.launchPurchaseFlow(activity, mItems[idx], idx, mPurchaseFinishedListener, "");
mPurcahseFinishedListener は次のようになります。
`
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener()
{
public void onIabPurchaseFinished(IabResult result, Purchase purchase)
{
Log.v("YER", "Its here");
}
};
`
アイデアは、onIabPurchaseFinished 関数が実際にはネイティブ コード関数であるということです。