美文网首页
android kotlin 6.0动态权限申请

android kotlin 6.0动态权限申请

作者: Mr_ZhaoMing | 来源:发表于2018-04-07 01:11 被阅读0次
不管是危险权限还是普通权限都要在Manifest文件中配置:
<uses-permission android:name="android.permission.READ_CONTACTS"/>

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

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<out String>,       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动态权限申请

      本文链接:https://www.haomeiwen.com/subject/efeehftx.html