繁体   English   中英

在不同活动之间共享android服务的好方法是什么

[英]What is a good way to share an android service across different activities

如何在一个应用程序中仅提供一项服务,并使其构成活动在它们之间共享? 我可以在第一个活动中对其进行初始化,使其成为公共静态文件,然后在其他活动中直接引用它吗? 还是我需要为其创建一个单例类,并在每个活动中对其进行实例化?

请帮助我找到一种方法。 谢谢

----更新-----------

说有Activity1,Activity2和Service3

我可以这样吗?

public class Activity1 extends Activity{
    public static Service3 mserv; 
    onCreate(){
        bindService(new Intent(this, Service3.class))
    }
    ...
}

public class Activity2 extends Activity{
    public Service3 mservice;

    onCreate(){
        mservice = Activity1.mserv;
    }
    ....
}

public Service3 extends Service{
   onCreate(){
    ....
   }

   onBind(){
    ...
   }
}

您可以使用意图与服务进行对话, 在此处进行了解。

它看起来应该像这样:

  Intent intent = new Intent(context, YourServiceClass.class);
  activity.startService(intent);

您的服务将获得Service.onStartCommand

您需要通过调用startService()显式启动服务。 然后,您可以将其绑定或通过LocalBroadcastManager与之进行LocalBroadcastManager

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM