0

Google 应用内付款示例建议添加清单条目以接收付款确认。但是在 AIR 的 Native Extension 中,接收器将不会被发现为不同的包。所以我将接收器部分移动到代码如下

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 回答