gpt4 book ai didi

android ContextCompat.checkSelfPermission 总是返回 PERMISSION_GRANTED

转载 作者:行者123 更新时间:2023-12-05 00:21:35 26 4
gpt4 key购买 nike

在我的 android 应用程序(minSdkVersion 15)中,我必须创建目录并将文件写入其中。在我的 AppManifest 中,我正在使用:

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

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


在创建目录或文件之前,我正在检查是否允许或拒绝权限,如
   boolean isAllow = ContextCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
但它总是返回 true 或 PERMISSION_GRANTED,即使有人从 Settings -> Apps -> Permissions 设置了拒绝权限
Deny Permission
为什么 checkSelfPermission总是返回 PERMISSION_GRANTED ?有没有办法检查权限是否被拒绝?
要调用我使用过的权限:
  ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
但它没有显示权限对话??

最佳答案

在新的权限模型中,具有危险保护级别的权限是运行时权限。对于面向 M 及以上的应用程序,用户不得随时授予或撤销此类权限。对于应用程序 目标 API 低于 Marshmallow(<23) 始终授予这些权限 因为这样的应用程序不期望权限撤销并且会崩溃。因此,当用户在 UI 中禁用旧应用程序的权限时,平台会禁用受此权限保护的 API,使它们成为无操作或返回空结果或默认错误的空操作。

欲了解更多信息,请访问 PermissionChecker

关于android ContextCompat.checkSelfPermission 总是返回 PERMISSION_GRANTED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45251744/

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