检查权限总是 return 被拒绝

Check permission always return denied

我使用以下语句请求 WRITE_EXTERNAL_STORAGE 许可

ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), PERMISSION_WRITE)

这一直有效...直到现在。在方法onRequestPermissionsResult中,grantResults总是包含-1

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String?>, grantResults: IntArray) {
    
    super.onRequestPermissionsResult(requestCode, permissions, grantResults)
    if (requestCode == PERMISSION_WRITE) {
        if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

            Timber.i("PERMISSION GRANTED")
        } else {

            showSettingsDialog()
        }
    }
}

此外,我在清单中有使用权限

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

问题是,如果我转到应用程序设置,权限显示为已授予,但从应用程序中它总是 return 未被授予。

我尝试删除构建文件夹,因为 none 已经更改并且这一周都工作正常

知道我可以测试什么吗?

此致

似乎是 android 10 中的错误,因此您可以将清单中的权限替换为:

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