Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 后台服务获取实例_Android_Service_Background_Instance - Fatal编程技术网

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)。