【问题标题】:Android how to stop START_STICKY serviceAndroid如何停止START_STICKY服务
【发布时间】:2015-03-10 10:34:51
【问题描述】:

我的应用使用了第三方库,并且该库启动了 START_STICKY 服务。所以即使应用被销毁并且服务被杀死,它也会自动重启。

我的问题是,有什么方法可以像应用程序一样更改此服务生命周期?应用启动时服务启动,应用停止时服务停止。

【问题讨论】:

    标签: android service


    【解决方案1】:

    在清单文件中向该服务添加一个意图过滤器

     <service
            android:name="ServiceName"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="IntentName"/>
            </intent-filter>
        </service>
    

    然后使用此意图在您想要的任何地方启动或停止服务

    String intentName="IntentName";
    Intent i=new Intent(itentName);
    context.stopService(i);
    

    或

    context.startService(i);
    

    【讨论】:

      【解决方案2】:

      我认为你有两个选择:

      【讨论】:

      • 谢谢!我试过:intent intent = new Intent(this, Service.class) in onDestroy。但是服务仍然重新启动。如何访问服务器实例?
      • 你的意思是 stopService(new Intent(yourContext, TheService.class)) ?在那种情况下,我认为图书馆正在重新启动它。你能提供更多关于图书馆的信息吗?
      • 你解决了这个问题吗?如果是,请将结果写给我们或将此答案标记为好,否则请提供更多信息
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多