Android 服务未重新启动
Android service not restarted
我有一项跟踪用户位置的服务。它不必 运行 24x7,但在旅行期间应该 运行。以下是我为确保其持续运行而实施的措施:
- 作为前台开始服务
- 用过"START_STICKY"
- 启动了一个警报,每 10 分钟检查一次服务是否 运行ning。如果不是,它会启动服务。
尽管采取了所有这些措施,但对于某些设备(如 MI 3w),服务会在 10 分钟内终止并且根本不会重新启动(甚至在等待 12 小时后也不会重新启动!)。通过广泛的谷歌搜索,我了解到当进程被 OS 杀死时,警报不会触发(如果我错了请纠正我),所以这里可能就是这种情况。但是 "START_STICKY" 怎么了?
所以我的查询是:
- START_STICKY 怎么了?这是一个 OS 错误(OS V6)吗?
- 为什么在杀进程的同时OS取消了所有设置的报警?
- 最重要的是如何确保我的服务 运行 持续整个行程?
部分设备(如小米 3w)
What happened to START_STICKY? Is it an OS bug (OS V6)?
没有。小米不允许应用自动启动。没bug,小米内存管理技术
Conclusion
这在小米上并不新鲜,因为小米有一个名为应用权限的功能,用户必须允许应用自动启动(服务)。
像这样让您的应用程序自动启动:
Settings > permissions > Autostart
我有一项跟踪用户位置的服务。它不必 运行 24x7,但在旅行期间应该 运行。以下是我为确保其持续运行而实施的措施:
- 作为前台开始服务
- 用过"START_STICKY"
- 启动了一个警报,每 10 分钟检查一次服务是否 运行ning。如果不是,它会启动服务。
尽管采取了所有这些措施,但对于某些设备(如 MI 3w),服务会在 10 分钟内终止并且根本不会重新启动(甚至在等待 12 小时后也不会重新启动!)。通过广泛的谷歌搜索,我了解到当进程被 OS 杀死时,警报不会触发(如果我错了请纠正我),所以这里可能就是这种情况。但是 "START_STICKY" 怎么了?
所以我的查询是:
- START_STICKY 怎么了?这是一个 OS 错误(OS V6)吗?
- 为什么在杀进程的同时OS取消了所有设置的报警?
- 最重要的是如何确保我的服务 运行 持续整个行程?
部分设备(如小米 3w)
What happened to START_STICKY? Is it an OS bug (OS V6)?
没有。小米不允许应用自动启动。没bug,小米内存管理技术
Conclusion
这在小米上并不新鲜,因为小米有一个名为应用权限的功能,用户必须允许应用自动启动(服务)。
像这样让您的应用程序自动启动:
Settings > permissions > Autostart