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()方法永远不会被调用。
是否有不同的方式注册活动以获得接收方呼叫?
答案 0 :(得分:2)
根据一些参考站点,在代码中添加计费接收器不起作用。因此将其移动到清单文件,删除了包并从根目录中引用它。所以问题就解决了。
对于那些正在尝试的人来说,AIR app的Manifest看起来会像这样!
<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>