所以我有一个后台服务正在运行。现在,如果用户退出活动,该服务仍将运行,对吧? 现在,当用户重新启动应用程序时,我想访问后台服务并调用一些方法。如何访问后台服务的实例?
谢谢大家!
答案 0 :(得分:6)
这对我开箱即用!但是如果你有其他选择,请不要使用它,因为公共静态成员不是好的,除非他们是最终的。 您可以在服务中创建具有公共范围的静态变量。
public static BackgroundService bs;
@Override
public void onCreate(){
bs=this;}
然后用'this'初始化变量,使其成为当前正在运行的服务的引用。随时在活动中将其用作参考。
答案 1 :(得分:1)
如果退出活动后服务继续运行取决于您的启动方式。 (在文档startService()/ bindService()中阅读此内容) 如果您的服务仍在运行,则调用startService()/ bindService()会将您连接到“旧”服务。
答案 2 :(得分:0)