首页 > 解决方案 > 关闭“允许后台活动”设置会停止前台服务中的位置更新

问题描述

我有一个前台服务请求位置更新并与他们一起做事。当应用程序不在屏幕上时,它仍然可以工作,因为该服务有一个持续的通知。

但是至少在我的三星设备上有一个电池设置,称为“允许后台活动”。我没有注意它,因为它说“后台”,据我所知,只要我有一个持续通知的前台服务,我的应用程序就会被 android 视为前台,而​​不是后台。

但我注意到,如果关闭该设置,我的持续通知仍然存在,但 gps 图标消失并且位置更新停止。

这是正常行为还是我做错了什么?我的应用程序不应该被视为前台吗?

如果这是正常行为,我现在知道我可以使用isBackgroundRestricted()检测到此状态,并且可以使用它来通知用户他们需要更改它。另一个问题是,有没有办法以编程方式打开用户应该进行此更改的确切设置页面?

谢谢!

标签: androidservicebackgroundgpsforeground

解决方案


我在这里有一个类似的问题。简短的回答是我认为没有进入确切屏幕的意图,但您可以使用 android.provider.Settings.ACTION_APPLICATION_SETTINGS 让用户到达那里。


推荐阅读