2011-03-09 134 views
4

我有一项服务供我的所有活动使用,并且应该在没有任何活动处于前台时停止服务,但当一个活动可见时始终保持运行状态。由于Android没有保持内部状态来知道前台应用程序是哪个,有没有干净的方法来实现这一目标?当前台没有任何活动时停止服务

回答

0

看到http://developer.android.com/reference/android/app/Activity.html

当方法在onStart,和的onStop在onPause被调用了解特定活动的生命周期。然后您可以相应地在其中启动Service/stopService。

+1

我已经知道他们是如何工作的,我只想知道我的任何活动何时都不在前台,然后能够根据它做些事情。 – biquillo 2011-03-09 21:19:39

+0

所以,你确实知道,当一些其他活动出现在你的活动前面时,onPause()会被调用,当你的活动不再可见时,onStop()会被调用,对吧? – Vino 2011-03-10 13:10:19

+0

当然,问题是我的应用程序知道我的任何活动都不在前台 – biquillo 2011-03-10 22:56:12

1

我猜@biquillo误解了你的问题,但我发现好主意CommonsWare answer ..

基本上你可以通过绑定到它,并塞汀标志来创建它如果尚未创建它启动服务。然后,当有一些活动是创建它绑定到服务,它的onDestroy解除绑定..这将使在不工作时被绑定到其服务中一旦遭到破坏..

希望它可以帮助它解决乌尔问题;)干杯

相关问题