当我打开项目的活动时,我调用该startService(Intent intent)方法来启动一个新的服务.当活动被销毁时,不应该杀死服务(因为我没有使用该bindService()方法),但事实是,当我关闭我的活动时,服务被终止,一秒钟后系统创建一个新的服务(我验证了)那个,系统再次调用onCreate()我的服务方法).我只需要保留一项服务怎么办?谢谢
Mig*_*tón 20
要让服务独立于应用程序的主要流程运行,并确保Android在执行某些操作时不会将其杀死,您应该做/尝试两件事.
在单独的过程中运行您的服务.您可以通过在清单中的服务声明中添加以下属性来实现此目的:
android:process=":somenamehere"
当您的服务正在运行并且您不希望它被操作系统杀死时,您必须使用该startForeground(int id, Notification notification)方法.当服务完成正在进行的操作并且可以被操作系统杀死时,请致电stopForeground(boolean removeNotification)."startForeground"需要通知作为参数,因为每个前台服务必须显示通知,以便用户意识到它
我希望这可以帮助你.
我的意思是我按住主页按钮,然后从应用程序打开列表中删除我的活动
这不会"关闭"一项活动.这会终止你的过程.欢迎用户在用户需要时终止您的流程,无论是通过这种方式还是通过第三方任务管理器应用程序.您无能为力 - 您无法阻止用户终止您的流程.由于您的过程也会因其他原因(例如,纯粹的年龄)停止,因此您有充分的理由来处理此案例.
| 归档时间: |
|
| 查看次数: |
18782 次 |
| 最近记录: |