【问题标题】:Android service not restarted安卓服务未重启
【发布时间】:2017-02-01 06:53:54
【问题描述】:

我有一个跟踪用户位置的服务。它不必 24x7 全天候运行,但它应该在旅途中运行。以下是我迄今为止为确保其持续运行而实施的措施:

  • 作为前台启动服务
  • 使用“START_STICKY”
  • 启动警报,每 10 分钟检查一次服务是否正在运行。如果没有,它会启动服务。

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

所以我的查询是:

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

【问题讨论】:

    标签: android service alarm


    【解决方案1】:

    部分设备(如小米 3w)

    START_STICKY 发生了什么?是操作系统错误(OS V6)吗?

    什么都没有。小米不允许应用程序自动启动。没有bug,是小米的内存管理技术。

    结论

    这对小米来说并不新鲜,因为小米有一个叫做应用权限的功能,用户必须允许应用自动启动(服务)。

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

    Settings > permissions > Autostart

    【讨论】:

    • 你认为我的闹钟没有因为这个设置而被触发吗?
    • @Asu,显然,试试我提供的答案,它会起作用。
    • 我会测试它并告诉你。如果它有效,我肯定会接受它作为答案:-)。感谢您的支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多