Android權限機制深入分析講解
1、權限
- 普通權限:不會直接威脅到用戶安全和隱私的權限
- 危險權限:那些可能會觸及用戶隱私或者對設備安全性造成影響的權限。
到Android 10 系統(tǒng)為止所以的危險權限

2、在程序運行時申請權限
- 普通權限申請:系統(tǒng)會自動幫我們進行授權,不需要用戶手動操作。
- 危險權限申請:在Android6.0及以上系統(tǒng)在使用時必須進行運行時權限處理。
危險權限申請步驟
(1)判斷用戶是否給我們授權了。
checkSelfPermission()方法,第一個參數是Context,第二個參數是具體的權限名,然后我們使用方法的返回值和PackageManager.PERMISSION_GRANTED作比較。相等就說明用戶已經授權,我們直接執(zhí)行撥打電話的操作進行。不等就說明用戶沒有授權,則需要調用ActivityCompat.requestPermissions()方法向用戶申請權限。requestPermissions()方法有三個參數,第一個參數要求是Activity的實例,第二個參數是一個String數組,把要申請的權限名放入數組中,第三個參數是唯一的請求碼。
if(ContextCompat.checkSelfPermission(this,android.Manifest.permission.CALL_PHONE)!=PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.CALL_PHONE),1)
}
else{
call()
}(2)用戶已經授權,我們直接執(zhí)行撥打電話的操作。
private fun call(){
try {
val intent=Intent(Intent.ACTION_CALL)
intent.data= Uri.parse("tel:10086")
startActivity(intent)
}catch (e:SecurityException){
e.printStackTrace()
}
}(3)用戶沒有授權,調用ActivityCompat.requestPermissions()方法之后,系統(tǒng)會彈出一個權限申請的對話框,用戶可以選擇接受或者拒絕申請,最后回調到onRequestPermissionsResult()方法·。
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
when(requestCode){
1->{
if (grantResults.isNotEmpty()&&grantResults[0]==PackageManager.PERMISSION_GRANTED){
call()
}
else{
Toast.makeText(this,"You denied the permission",Toast.LENGTH_SHORT).show()
}
}
}
}到此這篇關于Android權限機制深入分析講解的文章就介紹到這了,更多相關Android權限機制內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android在listview添加checkbox實現(xiàn)原理與代碼
Android在listview添加checkbox如何實現(xiàn)一直都是新手朋友們的頭疼問題,接下來為您詳細介紹實現(xiàn)方法,感興趣的朋友可以了解下2013-01-01
Android 快速實現(xiàn)防止網絡重復請求&按鈕重復點擊的方法
下面小編就為大家分享一篇Android 快速實現(xiàn)防止網絡重復請求&按鈕重復點擊的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
Android中ScrollView嵌套GridView顯示不全解決方法
這篇文章主要介紹了Android中ScrollView嵌套GridView顯示不全解決方法的相關資料,需要的朋友可以參考下2017-04-04
Java4Android開發(fā)教程(二)hello world!
一般的開發(fā)教程都是介紹完安裝配置開發(fā)環(huán)境,緊接著來一篇hello world,算是國際慣例吧,我們當然也不能免俗,哈哈,各位看官請看好了!2014-10-10
android使用ViewPager實現(xiàn)圖片自動切換
這篇文章主要為大家詳細介紹了android使用ViewPager實現(xiàn)圖片自動切換,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-02-02
解決android studio android monitor打不開的問題
下面小編就為大家分享一篇解決android studio android monitor打不開的問題,具有很的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01

