问题描述
我的应用跟踪从前台定期启动的前台服务中的位置更新,并在添加android:foregroundServiceType ="location"后在Android Q中正常工作,但是在Android 11 beta中,它不再接收位置.
My app traces location updates in foreground services periodically started from background and is working properly in Android Q after adding android:foregroundServiceType="location" but in Android 11 beta it does not receive locations anymore.
这种方式是11中的新功能还是错误?我没有在文档中看到任何东西.
Is this manner new in 11 or just a bug? I did not see anything in the documents.
推荐答案
从Android 11开始,前台的位置"服务已不足以获取后台位置更新.如果前台服务是在后台启动的(例如广播接收器),我们现在需要请求ACCESS_BACKGROUND_LOCATION:
Starting with Android 11, a foreground "location" service is no longer enough to get background location updates. We now need to request ACCESS_BACKGROUND_LOCATION, if the foreground service is started in the background (such as a broadcast receiver):
https://developer.android.com/about/versions/oreo/background-location-limits
更糟糕的是,您必须与其他位置权限分开请求ACCESS_BACKGROUND_LOCATION,否则它将不起作用:
Even worse, you have to request ACCESS_BACKGROUND_LOCATION separately from the other location permissions, or it won't work:
https://developer.android.com/about/versions/11/privacy/location
这篇关于Android 11中的位置更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!