Android应用程序及其服务在打开一些应用程序后被杀死

时间:2016-04-28 12:50:47

标签: android geolocation android-gps

我正在开发一个应用来跟踪按钮Start时的用户位置。我实现了一个服务来记录LocationListener的位置,它运行良好,但我已经做了一些繁重的测试,当我打开一些应用程序时,我的应用程序和服务被android随机杀死。

但是我下载了一个名为Wikiloc的应用程序并进行同样繁重的测试,打开多个应用程序这个应用程序永远不会被杀死,我看到该应用程序创建了一个无法解雇的通知。这可能与应用程序永远不会被系统杀死的事实有关吗?

如何在我的应用中实现这一目标?我必须做通知技巧吗?如果是这样,它是如何实现的?

1 个答案:

答案 0 :(得分:0)

请查看Android服务startForeground(int, Notification) here的文档。根据文件:

  

使此服务在前台运行,提供在此状态下向用户显示的持续通知。默认情况下,服务是后台服务,这意味着如果系统需要杀死它们以回收更多内存(例如在Web浏览器中显示大页面),它们可以被杀死而不会造成太大的伤害。如果终止您的服务会对用户造成干扰,您可以设置此标记,例如,如果您的服务正在播放背景音乐,那么用户会注意到他们的音乐是否停止播放。

您可以在服务的startForeground方法中致电onCreate