【发布时间】:2012-07-06 00:00:56
【问题描述】:
我有一个服务被我的所有活动使用,当没有任何活动在前台时应该停止,但在一个活动可见时一直运行。由于Android不保持内部状态来知道哪个是前台应用程序,有没有什么干净的方法来实现这一点?
【问题讨论】:
我有一个服务被我的所有活动使用,当没有任何活动在前台时应该停止,但在一个活动可见时一直运行。由于Android不保持内部状态来知道哪个是前台应用程序,有没有什么干净的方法来实现这一点?
【问题讨论】:
我猜@biquillo 误解了你的问题,但我在CommonsWare answer.. 中找到了好主意。
基本上,您可以通过绑定到它并设置标志来创建它(如果它尚未创建)来启动它。然后,每当创建某个活动时,它就会绑定到服务,onDestroy 它会取消绑定..这将使服务在没有活动绑定到它时被销毁一次..
希望它有所帮助,它解决了你的问题;)干杯
【讨论】:
查看http://developer.android.com/reference/android/app/Activity.html上给出的Activity的生命周期
了解 onStart、onStop 和 onPause 方法何时被调用。然后,您可以在其中相应地启动服务/停止服务。
【讨论】: