Joh*_*ock 3 android android-service
有没有办法可以测试我的应用程序中还有其他活动是否还活着?我希望在onDestroy方法中停止服务,但是如果我的应用程序中没有其他活动在堆栈上仍然存在,则只想这样做.
我有调用停止主活动的onDestroy()方法中的服务.除了如果用户启动我的应用程序,然后在我的应用程序中启动一些活动,然后点击主屏幕和RELAUNCHES我的应用程序,它们将颠覆我的订单,主要活动现在将高于我的应用程序的其他活动之外,这是完美的.从这种状态,如果他们点击后退按钮并"退出"我的主屏幕,他们将触发onDestroy()方法并终止服务,即使堆栈上还有其他活动打开.我想通过停止服务来避免这种情况,如果我确定我的其他活动没有在堆栈上打开.可能?
Com*_*are 16
如果我的应用程序的任何活动仍然在堆栈中,我怎样才能启动将继续运行的服务,但是当没有任何活动停止时,它会被停止?
不要使用startService()和stopService().相反,使用bindService()和unbindService(),即使你真的不需要绑定连接.绑定/解除绑定是引用计数.如果您bindService()使用该BIND_AUTO_CREATE标志拨打电话,则第一个bindService()电话将启动您的服务.然后,当所有bindService()呼叫都有匹配的unbindService()呼叫时,Android将自动关闭您的服务.
| 归档时间: |
|
| 查看次数: |
11578 次 |
| 最近记录: |