我正在为 Windows Phone 8.1(运行时)编写音频播放器,我使用IBackgroundTask
作为audio
。
我想使用应用内购买,但应用程序在调用时崩溃
var result = await CurrentAppSimulator.RequestProductPurchaseAsync(ProProductId);
没有任何例外。
在try-catch块中调用此方法。
当应用程序已通过调用IBackgroundTask
启动BackgroundMediaPlayer.Current
时会发生这种情况(在调用RequestProductPurchaseAsync
几秒后发生)。
如果我在启动应用后调用RequestProductPurchaseAsync
而未调用BackgroundMediaPlayer.Current
,则会正常工作。
这种行为的原因是什么?有一些方法可以解决这个问题吗?
答案 0 :(得分:1)
我遇到了同样的问题,应用只是崩溃,没有异常抛出。与CurrentAppSimulator
以及CurrentApp
一起发生。
我想出的唯一解决方案是杀死Backround任务
BackgroundMediaPlayer.Shutdown()
在制作IAP之前。确保你在调用shutdown之后也有一点延迟,有时应用程序仍然没有它崩溃(但不常见,所以我猜在关机过程中有一些延迟)