Android 后台服务获取实例
所以我有一个后台服务在运行。现在,如果用户退出活动,服务仍将运行,对吗? 现在,当用户重新启动应用程序时,我想访问后台服务并调用一些方法。如何访问后台服务的实例Android 后台服务获取实例,android,service,background,instance,Android,Service,Background,Instance,所以我有一个后台服务在运行。现在,如果用户退出活动,服务仍将运行,对吗? 现在,当用户重新启动应用程序时,我想访问后台服务并调用一些方法。如何访问后台服务的实例 谢谢大家 如果要与后台服务通信。您不能使用活页夹机制,对此,您可以访问以下网站: 这里有一个示例告诉您如何使用后台服务 非常感谢如果您退出活动后服务继续运行,则取决于您如何启动活动。(请阅读startService()/bindService()文档中的相关内容) 如果您的服务仍在运行,那么对startService()/bindSer
谢谢大家 如果要与后台服务通信。您不能使用活页夹机制,对此,您可以访问以下网站: 这里有一个示例告诉您如何使用后台服务
非常感谢如果您退出活动后服务继续运行,则取决于您如何启动活动。(请阅读startService()/bindService()文档中的相关内容)
如果您的服务仍在运行,那么对startService()/bindService()的调用将把您连接到“旧”服务。这对我来说是现成的!但是,如果您有其他选择,就不要使用它,因为公共静态成员不是好的,除非它们是最终的。 您可以在服务中创建具有公共作用域的静态变量
public static BackgroundService bs;
@Override
public void onCreate(){
bs=this;}
然后用“this”初始化变量,使其成为当前正在运行的服务的引用。在您的活动中随时将其用作参考。因此,您的意思是,如果该服务在后台运行,则启动或绑定服务将不会生成该服务的新实例。取而代之的是,你会把旧的拿来吗?听起来不错!我今天将尝试一下,看看是否有效!非常感谢。好的,我照你说的做了,但是我得到了NullPointerException。我的代码:这是因为根据(stackoverflow.com/questions/5085190/…)对startService的调用是异步的。所以您的服务还没有启动!只需在其他活动中启动您的服务,然后使用startActivity()启动您的活动。它对我有效。我使用了此功能,但将本地广播从服务的“onCreate”发送回“activity”>“activity”,然后使用
MyService.getInstance()
也可以获得对“MyService”的空引用来释放此引用在服务的onDestroy上(将其设置为null)。