1.
//使用兼容庫(kù)就無(wú)需判斷系統(tǒng)版本
val hasWriteStoragePermission: Int =
ContextCompat.checkSelfPermission(application, Manifest.permission.CAMERA)
if (hasWriteStoragePermission == PackageManager.PERMISSION_GRANTED) {
????//擁有權(quán)限,執(zhí)行操作
????}else {
? ? ? ?//沒(méi)有權(quán)限,向用戶(hù)請(qǐng)求權(quán)限
? ? ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA), 1)
}
2.
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
????????//通過(guò)requestCode來(lái)識(shí)別是否同一個(gè)請(qǐng)求
? ? ????if (requestCode ==1) {
????????????if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
????????????????// 獲取到權(quán)限
????????????}else{? ? ? ? ? ? ? ??
????????????????????if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) {
?????????????????????????//用戶(hù)不同意,向用戶(hù)展示該權(quán)限作用
????????????????????}else{
????????????????????????//用戶(hù)j禁止不在彈出
? ? ? ? ? ?}
????}
}