"允许所有时间 "的位置提示在安卓SDK中没有出现 29

问题描述 投票:1回答:1

在SDK 29中,我无法获得位置的 "Allow all the time "提示。我已经在清单中设置了这些权限。

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

它只返回 "当应用程序打开时 "和 "拒绝 "两个选项。

有什么想法,如何在SDK 29中显示它。

android android-permissions android-location
1个回答
0
投票

为了在后台访问Android 10(API级别29)或更高版本的设备上的位置,你还需要在manifest文件中使用以下权限:

 <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

请参考以下链接了解更多信息

https:/developer.android.comtraininglocationrequest-updates?hl=fr。


3
投票

添加权限 ACCESS_BACKGROUND_LOCATION 的清单中。在android 10及以上版本中,需要显示总是允许选项。

请看第二点 https:/developer.android.comtraininglocationbackground#评价。


0
投票

我发现仅仅在清单中添加权限是不够的。我必须提供一个选项让用户在启动时授予它,就像我需要为ACCESS_FINE_LOCATION做的那样。有趣的是,当我检查后台权限是否已经在应用中被授予时,它从未给出false。但如果我不检查,我就不会得到 "Allow all the time "的选项。这是在一个Android Pixel 2版本10上。

只有在Android的10多个版本中才需要。请求这两个权限让用户在对话框中进行选择......当然用户可能不会选择 "一直"。对此,我们也无能为力

© www.soinside.com 2019 - 2024. All rights reserved.