我写了一个应用程序,每2分钟发送一次gps位置。该应用程序运行正常,但需要运行,不能在后台或关闭。
如果应用在后台运行或已关闭,是否可以切换此行为并继续发送gps位置?
我已经阅读了有关BroadcastReceivers的内容,但我不确定这是否可行。
感谢任何帮助。
答案 0 :(得分:2)
如果应用在后台运行或已关闭,是否可以切换此行为并继续发送gps位置?
绝对不在Android 8.0+上,因为当设备处于睡眠状态时,您不会经常获得全新的GPS修复。
一般情况下,这也是不可能的,因为用户可以在用户想要的时候停止您的应用,并且只要认为有必要,Android就可以终止您的流程。此外,在Android 6.0及更高版本中,打盹模式和应用程序待机状态会阻止您的应用在设备处于睡眠状态时经常工作。
电池优化白名单上的前台服务和连续的部分唤醒锁是您能够达到所需要的最接近的服务。这会很快耗尽电池,这会让用户感到愤怒。