当用户点击主页按钮时是否可以停止所有已启动的服务?
我用:
startService(new Intent(ClassName.this, ClassName2.class));
stopService(new Intent(ClassName.this, ClassName2.class));
这意味着我必须以某种方式为我的7个应用类添加'stopService()' 我研究了这个主题,我认为有'onTerminate',但仍然不确定应该如何实现。
任何帮助或提示将不胜感激! 谢谢!
答案 0 :(得分:16)
是否可以停止所有已开始 用户点击主页时的服务 按钮?
不直接。对于初学者来说,你无法知道他们是在按住HOME。
如果您只想在活动使用时运行该服务,请考虑删除startService()
。相反,请在需要该服务的活动的bindService()
方法中使用onStart()
,并在相应的unbindService()
方法中调用onStop()
。您可以使用BIND_AUTO_CREATE
在需要时延迟启动服务,Android将在所有连接未绑定后自动停止服务。
答案 1 :(得分:2)
如果您希望在用户离开您的应用时停止服务,我会询问您是否要使用服务。您可能只是让您的应用程序变得比它需要的更复杂。
此外,这条线确实值得怀疑:
startService(new Intent(ClassName.this, ClassName2.class));
你正在制作一个Intent,其动作是一个类的类名,而数据URI是另一个类的类名......!也许你的意思是“new Intent(context,MyService.class)”?