gpt4 book ai didi

Android 的 ContextCompat.checkSelfPermission() 返回不正确的值

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:52 25 4
gpt4 key购买 nike

我正在尝试检查 Android Marshmallow 中用户授予/撤销的权限。不幸的是,ContextCompat.checkSelfPermission()(它是 Context.checkCallingOrSelfPermission 的变形器)似乎总是返回 PackageManager.PERMISSION_GRANTED (0) 如果你有无论权限的当前状态如何(例如,如果用户已撤销权限),都在您的 list 中包含该特定权限。我也尝试了 someContext.checkCallingOrSelfPermission(),但结果是一样的。

有人遇到过吗?我在 nVidia Shield 控制台上使用 Android Marshmallow(使用 nVidia 的 Beta 程序)。

最佳答案

事实证明, list 中的 targetSdkVersion 必须是 23,我的是 22。如果你的目标 SDK 是 23(Android 6),所有的权限(在你的 list 中)默认被禁用,而如果你的目标SDK是22(Android 5.1),你的应用运行在Android 6上,用户安装应用时默认开启所有权限,即使用户稍后撤销权限,提到的API返回错误值(在我看来是一个错误)。

关于Android 的 ContextCompat.checkSelfPermission() 返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35342667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com