0

アプリ内支払いのGoogleの例では、支払い確認を受け取るためにマニフェストエントリを追加することを提案しています。ただし、Native Extension for AIRでは、レシーバーは別のパッケージとして検出されません。だから私はレシーバー部分を次のようにコードに移動しました

final IntentFilter filter = new IntentFilter("com.android.vending.billing.IN_APP_NOTIFY");
filter.addAction("com.android.vending.billing.RESPONSE_CODE");
filter.addAction("com.android.vending.billing.PURCHASE_STATE_CHANGED");

a.registerReceiver(billingReceiver, filter);   

ただし、サービスのonreceive()メソッドが呼び出されることはありません。

受信者の呼び出しを取得するためにアクティビティを登録する別の方法はありますか?

4

1 に答える 1

2

一部の参照サイトによると、コードに請求レシーバーを追加しても機能しません。そのため、マニフェストファイルに移動し、パッケージを削除して、ルートディレクトリから参照しました。だから問題は解決した。

AIRアプリのマニフェストは、試してみる人のための詳細については、このようになります!

<android>
    <manifestAdditions>

      <![CDATA[
      <manifest android:installLocation="auto">
       <uses-permission android:name="com.android.vending.BILLING" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.RECORD_AUDIO"/>
      <uses-permission android:name="android.permission.VIBRATE"/>

        <application>

        <service android:name="<package>.BillingService" />

        <receiver android:name="<package>.BillingReceiver">
            <intent-filter>
                <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
                <action android:name="com.android.vending.billing.RESPONSE_CODE" />
                <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
            </intent-filter>
        </receiver>

      </application>


</manifest>]]>
    </manifestAdditions>
  </android>
于 2012-05-16T09:05:43.677 に答える