2017-08-10 42 views
0

我已经写了一个应用程序,每2分钟发送gps位置。该应用程序工作正常,但需要运行,不能在后台或关闭。Android - 强制应用程序保持“工作”,而背景或关闭

如果应用程序在后台运行或关闭,是否可以切换此行为并继续发送gps位置?

我已阅读过有关BroadcastReceivers的内容,但我不确定是否需要这样做。

任何帮助表示赞赏。

+2

使用服务/后台服务 –

+0

我要检查文档。 Ty – placplacboom

+0

看到这个: - https://github.com/googlesamples/android-play-location –

回答

1

如果应用程序在后台运行或关闭,是否可以切换此行为并继续发送gps位置?

绝对不是在Android 8.0+上,因为当设备处于睡眠状态时,您不会经常使用新的GPS修复程序。

这也是不可能的,因为用户可以随时停止你的应用程序,并且只要感觉这是必要的,Android可以终止你的过程。此外,在Android 6.0+上,打盹模式和应用待机会阻止您的应用在设备睡着时经常工作。

电池优化白名单上的前台服务和连续部分唤醒锁是最接近您能够完成自己想要的任务的。这会很快耗尽电池,这往往会让用户相当生气。

+0

这是我们公司的电话,我们想要控制驾驶时用户正在做什么。我可以做出更大的时间间隔,但我们确实需要控制用户是否在开车时使用Facebook。你有什么想法如何达到它?目前,我正在使用GPS数据来计算平均速度。 – placplacboom

+1

@placplacboom:如果用户在开车时使用Facebook,用户很快就会死于意外,此时您的问题会变成与Android应用程序开发无关的问题。除此之外,我不知道“你有什么想法如何达到它”是什么“它”?如果“它”是“防止用户在开车时使用Facebook”,我认为通过设备所有者API,您可以控制是否可以安装应用程序等等。所以,请关注不允许在设备上使用Facebook。 – CommonsWare