1

我正在阅读应用内促销文档以允许用户兑换促销代码。文档说我们需要覆盖当用户在我们的应用程序运行时在 Play 商店应用程序中兑换促销代码的情况。这是通过侦听 PURCHASES_UPDATED 意图来完成的。

文档说我们必须在活动的 onResume() 方法中注册广播接收器(用于 PURCHASES_UPDATED)。并在 onPause() 中取消注册。

但是,如果我的应用程序已打开,并且用户打开 Play Store 应用程序,我的应用程序活动的 onPause 方法将被执行,因此广播接收器将被取消注册,并且我的应用程序将不会收到通知......

文档不正确吗?还是我错过了什么?

4

1 回答 1

1

有几种情况可能适用于此。

首先,有些 Android 设备可以在前台运行多个活动,或者您可能正在使用同一帐户在单独的设备上购买内容。在这些情况下,您的接收器会做它应该做的事情。

其次,在更常见的情况下,是的,您会遇到问题并且必须另外检查 onResume() 中的购买,因为当应用程序关闭时您的接收器不会触发。由于您应该已经在 onStart() 中检查了这一点,因为您的应用程序想知道在启动时购买的项目是什么,您可能需要考虑只移动该检查。

于 2016-10-20T10:40:10.980 回答