Android 何时启动和停止应用内计费服务?

Android 何时启动和停止应用内计费服务?,android,service,in-app-purchase,Android,Service,In App Purchase,一个我无法解决的简单问题:我应该在什么时候启动和停止计费服务?我在考虑两个决定: 在onCreate中启动并在onDestroy中停止 在onResume中启动,在onPause中停止 最佳做法是什么?提前感谢。我建议您的计费服务从IntentService派生,以便在需要时自动启动/停止。您可以使用startService(Intent)启动它,然后当它完成工作时,它会自动关闭。IntentService还提供内置队列,因此一次只处理一个intent,并且处理它自己的工作线程 我记得,您还

一个我无法解决的简单问题:我应该在什么时候启动和停止计费服务?我在考虑两个决定:

  • 在onCreate中启动并在onDestroy中停止
  • 在onResume中启动,在onPause中停止

最佳做法是什么?提前感谢。

我建议您的计费服务从IntentService派生,以便在需要时自动启动/停止。您可以使用startService(Intent)启动它,然后当它完成工作时,它会自动关闭。IntentService还提供内置队列,因此一次只处理一个intent,并且处理它自己的工作线程


我记得,您还需要一个接收器来使用IAB,然后IAB可以有目的地调用服务,并根据需要执行的操作设置操作。

IntentService在HandleCommand上的(最后一个)服务完成时调用stopSelf。但在那个时候,服务并不总是完成。如果服务需要向MarketBilling发送消息,则需要将连接到MarketBillingService。当它绑定到服务时,会调用bind(),然后从onHandle返回,稍后ServiceConnection对象会收到onServiceConnection回调。如果这个服务在这个时候已经失效了(当我在安卓3.2上测试时,它可能已经失效了,但现在还没有),那么我希望事情会失败,因为上下文已经失效了。