我是通过以下声明请求 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" />
问题是,如果我转到应用程序设置,权限显示为已授予,但从应用程序返回的权限始终未授予。
我尝试删除构建文件夹,因为没有任何更改,这可以正常工作一周
知道我可以测试什么吗?
最好的问候
答案 0 :(得分:2)
这似乎是 android 10 中的一个错误,因此您可以将清单中的权限替换为:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>