如何创建android永无止境的后台服务GPS监听器?

时间:2019-02-17 01:03:30

标签: android gps android-service android-gps locationlistener

我对创建一个具有以下功能的android应用感兴趣:

  • 没有UI(无可见活动)。
  • 我想除非有更好的选择,否则这将是一项Android服务。
  • 服务应无限期运行以运行GPS位置侦听器以更新位置。
  • 当用户调出设备上的所有应用程序时,应用程序不应出现。
  • 应用/服务应该能够在手机打开但显示屏关闭的情况下运行。

这可能吗?推荐的方法是什么?如果不是,一种替代解决方案是使用警报管理器,该警报管理器会定时启动不可见的服务吗?

1 个答案:

答案 0 :(得分:0)

应该考虑的一件事是如何无限期地做某事。 Android保证任何与前台相关的活动(例如活动或前台服务)都不会被杀死。因此,拥有一个可以包裹GPS内容的前台服务可能是一个很好的解决方案。

或者由警报管理器触发前台服务(同上),然后执行所需的GPS任务,最后再次休眠直到下一个滴答声为止。

对您来说关键的是在前台。因此,它将location background limitations治愈,并且不希望被杀死。


我刚刚给出了还活着的前台服务和活动样本。因此,对您来说,最小的隐患是具有前台服务的通知。

是的,可以设置警报以使其定期工作。但是还有一件事,当设备由于警报而唤醒时,android将使您短时间做某事,因为它会继续休眠。

但是,这么短的时间可能不足以请求和接收位置信息。应用必须阻止设备进入睡眠状态

https://developer.android.com/training/scheduling/wakelock#cpu

Android - periodically wake up from standby mode?

https://developer.android.com/training/scheduling/alarms

最后,如果应用程序满足上述要求,则在关闭显示后,警报管理器,前台服务可以(从您的角度)执行操作