最新版本Sdk 23(andriod 6.0)以上顶籽,對(duì)于危險(xiǎn)權(quán)限,需要用戶手動(dòng)申請(qǐng)礼饱。
危險(xiǎn)權(quán)限
注意:掃描wifi需要定位權(quán)限究驴,因?yàn)樾枰_定wifi的搜索位置匀伏。
dangerous permissions運(yùn)行時(shí)的權(quán)限申請(qǐng)主要用到如下幾個(gè)API。
Context.checkSelfPermission(String permission) 檢查是否被授予了某個(gè)權(quán)限
Activity.requestPermissions(String[] permissions, int requestCode) 申請(qǐng)一組權(quán)限熙侍。requsetCode是針對(duì)onRequstPermissionResult方法而言的履磨。
Activity.shouldShowRequestPermissionRationale(String permission) 判斷是否需要顯示申請(qǐng)此權(quán)限的原因,在應(yīng)用第一次申請(qǐng)某個(gè)權(quán)限剃诅,或者用戶對(duì)該權(quán)限請(qǐng)求授權(quán)界面選擇了不再顯示時(shí)此方法返回false,否則返回true矛辕。
Activity.onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) 權(quán)限申請(qǐng)結(jié)果回調(diào)
這四個(gè)都是從Android 6.0系統(tǒng) (API Level 21)才開始有的new API,因此使用前都需要判斷當(dāng)前系統(tǒng)的版本是否是Android 6.0以上飞蹂。