android - 检查权限总是返回被拒绝
问题描述
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" />
问题是,如果我进入应用程序设置,权限显示为已授予,但从应用程序返回的权限始终未授予。
我尝试删除构建文件夹,因为没有任何变化,而且这工作正常一周
关于我可以测试什么的任何想法?
此致
解决方案
这似乎是android 10中的一个错误,因此您可以将清单中的权限替换为:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>
推荐阅读
- python - 如何找到两个随机参数的最佳组合
- rest - 通过冲刺而不是从 Azure DevOps 获取工作项的状态更改
- python - 如果错误,Tensorflow 会重新训练
- javascript - Foreach loop echoing only one row from database
- android - What is the difference b/w app:theme & android:theme in Android Programming
- python - anaconda3/bin/python: undefined symbol: archive_errno
- java - Should a single thread only acquire a single connection from a connection pool?
- ruby-on-rails - 如何在不通过 CRUD(使用控制器等)的情况下创建项目?
- excel - Making a list of computers and their rdp settings
- javascript - Can you call a React Context Function in a components State?