尝试购买产品时它可以工作(当我重新启动我的应用程序并在 iab 中查询购买的产品时,它被视为已购买)。
问题是,用户在市场中点击购买 gui 后onActivityResult()
不会被调用。使用测试帐户的我自己的产品会发生这种情况,静态响应 android.test.purchased 也会发生这种情况。
而是出现以下错误消息:
错误/Finsky(1374): [1] IntentUtils.createIntentForReceiver: 找不到 com.ludocrazy.artisan 的接收器
问题:我该怎么做才能正确转发意图?我似乎错过了文档中的某些内容 - 但我认为已经多次检查了所有内容。
购买我使用以下内容:
PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
activity.startIntentSenderForResult(pendingIntent.getIntentSender(), myRequestCode, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
TL; DR:基本上发生了什么:发送 BUY_INTENT 有效,购买流程(用户 gui)和一切正常,但 finsky 找不到我的活动,因此 onActivityResult() 没有被调用。
附录:如果我添加一个扩展广播接收器的类,将适当的意图过滤器添加到清单中,然后错误消失并且我在 BroadcastReceiver.onReceive() 上得到一个 ACTION_NOTY。但这仅包含额外字符串 NOTIFICATION_ID,没有任何其他内容应该与意图一起出现以便 onActivityResult() 处理购买(例如额外内容:RESPONSE_CODE、INAPP_PURCHASE_DATA、INAPP_DATA_SIGNATURE)。所以这不是解决方法。
我查看了 IABv3 中的 TrivialDriveSample,阅读了 IabHelper 和其他实用程序类,阅读了谷歌文档,遵循了所有测试步骤。我不知道还有什么 tro 尝试/检查:-/