【发布时间】:2019-06-05 02:00:26
【问题描述】:
我已经构建了一个用于收集移动和可穿戴传感器数据的安卓应用。我希望这个应用程序在后台 24/7 运行而不会被操作系统杀死。我知道 24/7 全天候运行它的所有利弊,但这是我的主要业务需求。
编辑:我已将其作为前台服务,只要我继续与手机交互,它就可以工作,但如果我让它闲置 4-5 小时,操作系统会杀死它,尽管它被列为前台服务
【问题讨论】:
-
唯一的办法就是使用前台服务
-
@Gauranga,你有想过吗?我在这里遇到了同样的问题。我希望该应用程序在几天内保持活跃,以便从蓝牙连接的可穿戴设备收集数据。我还找到了前台服务解决方案,但是像你一样,应用程序在几个小时不活动时会被杀死(例如,当我睡觉时)
-
2年3个月后,我仍然有同样的问题。我能得到的最好的方法是使用定期(每隔几分钟)调用一个 BroadcastReceived 的 AlarmManager,后者又调用一个前台服务,并使用 ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 来避免备用存储桶。在服务中,我收集 GPS 数据和光传感器数据。该应用程序在后台运行了 5 天零 5 小时,没有用户交互,但随后它被神秘地杀死了。我已经尝试了下面提出的所有解决方案,但无济于事。