位置应用如何在Android O中运行?

时间:2017-08-21 23:38:26

标签: android background location android-8.0-oreo

现在很多应用都会跟踪您的位置。但是,在Android Oreo中,“应用程序将无法在后台自由运行”,如this Android Developers video中所述。

根据the developer docs

  

应用每小时只能收到几次位置更新。

对于该规则的任何例外情况:

  

如果您的应用收到不经常的位置更新,请考虑您的应用在后台运行的用例是否完全无法成功。如果是这种情况,您可以通过执行以下操作之一来更频繁地检索位置更新:

     

...

     

通过调用startForegroundService()在您的应用中启动前台服务。当这样的前台服务处于活动状态时,它在通知区域中显示为持续通知。

这似乎说的是,如果您是奥利奥位置跟踪的用户,那么您始终会遇到另一个持续通知。这是正确的吗?

我真的希望有一种解决方法,因为如果我有三个跟踪位置的应用程序,即使我没有移动,我的通知栏也会被三个正在进行的通知混乱。

1 个答案:

答案 0 :(得分:3)

  

这似乎在说,如果您希望能够在奥利奥中检测位置更改,您的应用始终需要持续通知。这是对的吗?

不完全是。它说,想要比一小时几次更频繁地接收位置更新的应用程序,虽然不是前台活动,但很可能需要创建前台服务。正如文档所示,还有其他选择(被动提供者,地理围栏,批量API)。有些应用程序不需要特别频繁地进行位置更新,因为基础数据不会特别频繁地更改(例如,天气应用程序小部件)。

  

如果我有三个跟踪位置的应用,即使我没有移动,我的通知栏也会被三个正在进行的通知混乱

恕我直言,如果你有1个以上的应用程序在后台持续追踪你的位置,你真的需要重新考虑你的生活选择。