后台服务:在活动销毁时终止

4
我在 Activity 中使用 startService() 方法在 android 平板电脑上创建了一个 background service。 然后我在 onStart() 方法中创建了一个 Thread。我从 android 开发者网站上了解到,服务是独立于活动的,但当我销毁 Activity 时,android 系统也会杀死该 service。我希望服务能够一直运行,直到我自己停止它为止。
我知道可以使用 AlarmManger 来实现,但它会消耗电池。不需要推送通知,但服务需要在后台运行。对于如何解决这个问题有什么建议吗?

你在onDestroy()中进行了任何调用吗?你如何知道服务也被销毁了?请放置一些代码,以便我们可以理解这个问题。 - Atul O Holic
1
你尝试过访问http://developer.android.com/reference/android/app/Service.html#startForeground%28int,%20android.app.Notification%29吗? - sherpya
3个回答

0

在你的服务类中使用这个,然后通过按钮调用它

 @Override
    public void onDestroy() {


           Log.e("serive destroyed", "service distroyed");
        super.onDestroy();
    }

0

请查看this链接,了解关于AsyncTask在Activity销毁后仍然不停止的问题,并查看Snicolas发布的答案。同时参考其他答案。希望这能有所帮助。


0

当活动销毁时,服务也会被销毁,这通常不应该发生。

服务是在后台运行的组件,没有用户界面。更重要的是,Android 服务可以拥有与活动分离的生命周期。当活动暂停、停止或被销毁时,可能需要继续一些处理。服务也很适合这种情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接