android kotlin 6.0动态权限申请

不管是危险权限还是普通权限都要在Manifest文件中配置:


以读取联系人为例进行权限申请:

fun requestPermission(view: View) {
        val checkSelfPermission = ContextCompat.checkSelfPermission(this@MainActivity,
                Manifest.permission.READ_CONTACTS)
        if (checkSelfPermission == PackageManager.PERMISSION_GRANTED) {
            //todo :has ready get permission write your code here
        } else {
            //requset permission
            ActivityCompat.requestPermissions(this@MainActivity,
                    arrayOf(Manifest.permission.READ_CONTACTS), REQUEST_CODE)
        }
    }

然后再onRequestPermissionsResult中进行判断操作:
 override fun onRequestPermissionsResult(requestCode: Int, permissions: Array,       grantResults: IntArray) {
        //super.onRequestPermissionsResult(requestCode, permissions, grantResults)
        if (requestCode == REQUEST_CODE) {
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED
                    && permissions[0] == Manifest.permission.READ_CONTACTS) {
                //todo:permission granted
                Toast.makeText(this@MainActivity,"permission       granted",Toast.LENGTH_SHORT).show()
} else{
                //todo:permission denied
                Toast.makeText(this@MainActivity,"permission denied",Toast.LENGTH_SHORT).show()
            }
        }
}

你可能感兴趣的:(android kotlin 6.0动态权限申请)