我正在使用OpenIAB支持在我的应用中购买应用(OpenIAB使用谷歌代码为Google Play商店实施IAP)。问题是,有时,当我调用launchPurchaseFlow()时,我的FragmentActivity的onActivityResult()方法不会被调用。检查日志,我发现当发生这种情况时,总会有以下消息:
W / ActivityManager(319):从非活动调用的startActivity context:强制Intent.FLAG_ACTIVITY_NEW_TASK:Intent { CMP = com.android.vending / com.google.android.finsky.billing.lightpurchase.IabV3Activity (有额外的)}
当发生这种情况时,我必须关闭应用程序。通常它会在一段时间后再次开始工作(我完全不知道为什么会如此)。 我不知道为什么会出现这个消息,因为上下文显然是我的活动(实际上它大部分时间都有效)。我不得不说我的设备上安装的.apk是关于在开发者控制台测试版中上传的apk的更新版本,我正在使用我的谷歌开发者帐户来测试IAP。这意味着我无法进行任何真正的购买。但是,这并不重要,因为我正在测试应用程序。 这些是我的问题:
关于第一个问题,我已经使用launchMode = singleTask进行了测试,其行为与launchMode = singleTop相同。