Sta*_*wer 7 android scoped-storage
我已将我的应用程序设置为目标 AP 29 并requestLegacyExternalStorage=true从清单中删除。
现在我正在检查用户是否具有此权限,如果结果被拒绝,我会请求权限。
我的问题是,请求许可返回时Granted没有显示提示...我知道流程正在运行,因为在获得许可后我能够从图片中读取 GPS 位置。
我看到权限状态= Denied,一旦我明确请求此权限,它就会返回,Granted而无需任何用户交互。
一切看起来都不错,但我对没有看到提示感到困惑......这是预期的吗?我看到此权限属于“危险”权限,因此我期待出现提示。我正在 Android 10 设备上进行测试。
我没有显示任何代码,因为该项目是 Xamarin 并且权限逻辑是通过第三方库处理的,我认为我的代码不会有帮助,因为请求权限的平台逻辑被组件隐藏了。
从 Android 10 开始:通过 MediaStore 获取图库并提供位置信息:
这需要持有 ACCESS_MEDIA_LOCATION 权限。请注意,此权限不是“用户在设置 UI 中可见”(源),这意味着用户不会看到请求权限的弹出窗口,即使它是运行时权限。这意味着您必须在运行时请求许可(与清单文件相反),但用户不必同意。在此处添加此内容是因为您可能想知道为什么没有显示额外的 UI 弹出窗口。
不过,我仍在理清其中的逻辑。我赞成向用户请求许可,但我不明白如果用户实际上并未授予许可,为什么有必要“请求”它。
我能够在一个更简单的应用程序中重现该问题。我用代码片段发布了一个略有不同的问题。
这是HilaryN的回答,我认为不应该被删除(我删除了离题的部分)。
| 归档时间: |
|
| 查看次数: |
3534 次 |
| 最近记录: |