最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android權(quán)限機制深入分析講解

 更新時間:2022年12月05日 09:30:25   作者:Hdnw  
Android的權(quán)限管理遵循的是“最小特權(quán)原則”,即所有的Android應(yīng)用程序都被賦予了最小權(quán)限。一個Android應(yīng)用程序如果沒有聲明任何權(quán)限,就沒有任何特權(quán)

1、權(quán)限

  • 普通權(quán)限:不會直接威脅到用戶安全和隱私的權(quán)限
  • 危險權(quán)限:那些可能會觸及用戶隱私或者對設(shè)備安全性造成影響的權(quán)限。

到Android 10 系統(tǒng)為止所以的危險權(quán)限

2、在程序運行時申請權(quán)限

  • 普通權(quán)限申請:系統(tǒng)會自動幫我們進行授權(quán),不需要用戶手動操作。
  • 危險權(quán)限申請:在Android6.0及以上系統(tǒng)在使用時必須進行運行時權(quán)限處理。

危險權(quán)限申請步驟

(1)判斷用戶是否給我們授權(quán)了。

checkSelfPermission()方法,第一個參數(shù)是Context,第二個參數(shù)是具體的權(quán)限名,然后我們使用方法的返回值和PackageManager.PERMISSION_GRANTED作比較。相等就說明用戶已經(jīng)授權(quán),我們直接執(zhí)行撥打電話的操作進行。不等就說明用戶沒有授權(quán),則需要調(diào)用ActivityCompat.requestPermissions()方法向用戶申請權(quán)限。requestPermissions()方法有三個參數(shù),第一個參數(shù)要求是Activity的實例,第二個參數(shù)是一個String數(shù)組,把要申請的權(quán)限名放入數(shù)組中,第三個參數(shù)是唯一的請求碼。

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)用戶已經(jīng)授權(quán),我們直接執(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)用戶沒有授權(quán),調(diào)用ActivityCompat.requestPermissions()方法之后,系統(tǒng)會彈出一個權(quán)限申請的對話框,用戶可以選擇接受或者拒絕申請,最后回調(diào)到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()
                }
            }
        }
    }

到此這篇關(guān)于Android權(quán)限機制深入分析講解的文章就介紹到這了,更多相關(guān)Android權(quán)限機制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android自定義方框EditText注冊驗證碼

    Android自定義方框EditText注冊驗證碼

    這篇文章主要為大家詳細介紹了Android自定義方框EditText注冊驗證碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android AIDL實現(xiàn)兩個APP間的跨進程通信實例

    Android AIDL實現(xiàn)兩個APP間的跨進程通信實例

    這篇文章主要為大家詳細介紹了Android AIDL實現(xiàn)兩個APP間的跨進程通信實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Android中實現(xiàn)為TextView添加多個可點擊的文本

    Android中實現(xiàn)為TextView添加多個可點擊的文本

    這篇文章主要介紹了Android中實現(xiàn)為TextView添加多個可點擊的文本,可實現(xiàn)類似Android社交軟件顯示點贊用戶并通過用戶名稱進入該用戶主頁的功能,是非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • AndroidSDK Support自帶夜間、日間模式切換詳解

    AndroidSDK Support自帶夜間、日間模式切換詳解

    這篇文章主要為大家詳細介紹了AndroidSDK Support自帶夜間、日間模式切換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 利用Android畫圓弧canvas.drawArc()實例詳解

    利用Android畫圓弧canvas.drawArc()實例詳解

    這篇文章主要給大家介紹了關(guān)于利用Android畫圓弧canvas.drawArc()的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的理解和學習具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-11-11
  • Android中GPS定位的用法實例

    Android中GPS定位的用法實例

    這篇文章主要介紹了Android中GPS定位的用法實例,是Android程序設(shè)計中比較經(jīng)典的應(yīng)用,需要的朋友可以參考下
    2014-09-09
  • Android實現(xiàn)歡迎滑動頁面

    Android實現(xiàn)歡迎滑動頁面

    這篇文章主要為大家詳細介紹了Android實現(xiàn)歡迎滑動頁面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Android自定義View實現(xiàn)微信語音界面

    Android自定義View實現(xiàn)微信語音界面

    這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)微信語音界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android在kts中使用navigation及Args的方法

    Android在kts中使用navigation及Args的方法

    在Android項目中使用Kotlin腳本(kts)替代Groovy配置navigation和Args,需添加相關(guān)依賴,并在build.gradle中進行配置,文章詳細介紹了如何在kts中使用navigation進行頁面導航和參數(shù)傳遞,介紹了使用Bundle和Safe Args兩種方式安全傳遞參數(shù)
    2024-10-10
  • 詳解Android框架MVVM分析以及使用

    詳解Android框架MVVM分析以及使用

    這篇文章主要介紹了詳解Android框架MVVM分析以及使用,對MVVM感興趣的同學,一定要看一下
    2021-04-04

最新評論

宝鸡市| 沧州市| 郑州市| 黄浦区| 绵阳市| 嘉禾县| 宁晋县| 万山特区| 汕头市| 潮安县| 星子县| 筠连县| 榆树市| 金堂县| 垣曲县| 新巴尔虎左旗| 洪洞县| 延川县| 老河口市| 合江县| 红安县| 临安市| 贺兰县| 山东省| 商水县| 景泰县| 永兴县| 师宗县| 兴海县| 额济纳旗| 内江市| 青神县| 田林县| 任丘市| 舟曲县| 商水县| 江阴市| 陈巴尔虎旗| 禹城市| 佛坪县| 南川市|