我的应用程序会定期从后台开始跟踪前台服务中的位置更新,并在添加android:foregroundServiceType=" location“后在Android Q中正常工作,但在Android11测试版中它不再接收位置。
这种方式在11中是新的,还是只是一个bug?我没有在文件中看到任何东西。
发布于 2020-12-22 08:06:00
从Android 11开始,前台“位置”服务不再足以获取后台位置更新。现在我们需要请求ACCESS_BACKGROUND_LOCATION,如果前台服务是在后台启动的(比如广播接收器):
https://developer.android.com/about/versions/oreo/background-location-limits
更糟糕的是,您必须从其他位置单独请求ACCESS_BACKGROUND_LOCATION权限,否则它将无法工作:
https://developer.android.com/about/versions/11/privacy/location
发布于 2020-07-15 11:36:10
目前,只有在前台服务正在运行且活动在前台时,应用程序才会更新get的位置。然后你可以把应用程序放到后台,或者关闭屏幕,它就会不断地更新位置。
如果前台服务是在应用程序被放到后台之后启动的,例如由BroadcastReceiver启动,那么它就不会获得位置更新。
作为一种解决办法,我们必须请求后台位置权限。
对于Android11,这似乎是一个开放的问题:https://issuetracker.google.com/issues/158814176
https://stackoverflow.com/questions/62483266
复制相似问题