Android服务未重新启动

时间:2017-02-01 06:53:55

标签: android service alarm

我有一项跟踪用户位置的服务。它不必全天候运行,但它应该在旅行期间运行。以下是我迄今为止所实施的事项,以确保其持续运作:

  • 开始服务为前景
  • 使用“START_STICKY”
  • 启动警报,如果服务正在运行,则每10分钟检查一次。如果不是,它就开始服务。

尽管采取了所有这些措施,但对于某些设备(如MI 3w),服务会在10分钟内被杀死,并且根本不会重启(甚至在等待12小时后!)。从广泛的谷歌搜索,我已经了解到当进程被操作系统杀死时,警报不会触发(如果我错了,请纠正我),所以这可能就是这种情况。但是“START_STICKY”发生了什么?

所以我的疑问是:

  • START_STICKY怎么了?它是操作系统错误(OS V6)吗?
  • 为什么操作系统会在终止进程时取消所有设置的警报?
  • 最重要的是如何确保我的服务在旅行期间运行?

1 个答案:

答案 0 :(得分:3)

某些设备(如Mi 3w)

  

START_STICKY怎么了?它是操作系统错误(OS V6)吗?

无。小米不允许应用程序自动启动。没有错误,它是小米的记忆管理技术。

  

结论

小米没有新功能,因为小米有一个名为app permission的功能,用户必须允许该应用自动启动(服务)。

像这样,让你的应用程序自动启动:

Settings > permissions > Autostart