不管是危险权限还是普通权限都要在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动态权限申请
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 哈哈,现在写适配6.0好像有点马后炮的感觉,不过以前确实没有注意到这些问题。前几天在添加高德地图定位功能的时候发现...
- 写在前面 看了下上一篇文章的写作日期,转眼之间已经过去了大半个月了……一个国庆小长假下来也是放松了不少,不过学习也...
- Android 动态权限 从 Android 6.0 (API 23)开始使用动态的权限及(targetSdkVe...