检查权限总是 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"/>
我使用以下语句请求 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"/>