android - 请求权限对话框未出现 Android 6.0.1
问题描述
我正在尝试Write_external_storage
在应用程序开始时获得许可。但我看不到权限框。这是我的代码:
override fun onStart() {
.....
if (Singleton.isPermissionGranted(this)) {
btn_submit_t.isEnabled
} else {
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
}
super.onStart()
}
然后我补充说onRequestPermissionsResult
:
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
when (requestCode) {
1 -> {
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.i("m","permission_is_granted")
// permission was granted, yay! Do the
// contacts-related task you need to do.
} else {
// permission denied, boo! Disable the
// functionality that depends on this permission.
Toast.makeText(this, "Permission denied to read your External storage", Toast.LENGTH_SHORT).show()
Handler().postDelayed({
if (Build.VERSION.SDK_INT >= 23) {
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED) {
//your permission is granted
} else {
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
}
}
else {
//permission is automatically granted on devices lower than android M upon installation
}
//ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
}, 100)
}
return
}
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
}
我在不同的设备上测试过,我的问题出现在安卓6.0.1版本的小米设备上。我还添加了检查,但它对我没有帮助。问题可能出在哪里?
解决方案
您是否在清单文件中添加了“写入外部存储”权限?
推荐阅读
- python - 如何在充满对象的环境中提取具有比例和旋转不变性的感兴趣区域?
- javascript - 使用循环调用具有单独上下文的函数
- python - 显示嵌套 python 字典中的 HTML 列表
- dart - 如何有效地迭代 Dart 中的标准输入?
- java - 如何在 Amazon SP Api for Java 中使用受限数据令牌 (RDT)
- javascript - 在Vuejs中单击外部时如何关闭li标签?
- c++ - 在 C++ 中重载父类和子类中的 + 和 += 运算符
- postgresql - Postgis ST_FrechetDistance 有限制吗?
- google-sheets-formula - Google 表格查询 - 多个条件和日期范围
- javascript - 每次调用 Vuejs 计算方法时添加一个加载器