android - 关闭“允许后台活动”设置会停止前台服务中的位置更新
问题描述
我有一个前台服务请求位置更新并与他们一起做事。当应用程序不在屏幕上时,它仍然可以工作,因为该服务有一个持续的通知。
但是至少在我的三星设备上有一个电池设置,称为“允许后台活动”。我没有注意它,因为它说“后台”,据我所知,只要我有一个持续通知的前台服务,我的应用程序就会被 android 视为前台,而不是后台。
但我注意到,如果关闭该设置,我的持续通知仍然存在,但 gps 图标消失并且位置更新停止。
这是正常行为还是我做错了什么?我的应用程序不应该被视为前台吗?
如果这是正常行为,我现在知道我可以使用isBackgroundRestricted()检测到此状态,并且可以使用它来通知用户他们需要更改它。另一个问题是,有没有办法以编程方式打开用户应该进行此更改的确切设置页面?
谢谢!
解决方案
我在这里有一个类似的问题。简短的回答是我认为没有进入确切屏幕的意图,但您可以使用 android.provider.Settings.ACTION_APPLICATION_SETTINGS 让用户到达那里。
推荐阅读
- python - 如何在python中显示RGB图像
- python - Networkx 2.4:寻找所有派系
- c++ - 调用 std::atexit() 时,类型的 C++ 参数与类型为 void (__cdecl*)(void) 的参数不兼容
- php - php 将文件拆分为具有重复键的 $key=>$value 对
- r - 如何为 Y 组中 X 的唯一值创建索引变量?
- javascript - 在 iframe 中设置交叉原点变量
- java - TabLayout 中 Fragment 的 onStop 以保存一些内容
- python - 创建平滑的跳跃动画
- laravel - 通过 mailgun 发送电子邮件时,此路由不支持 GET 方法
- javascript - 如何使网站按价格从大到小排序