Android6.0獲取動(dòng)態(tài)權(quán)限代碼示例
Android系統(tǒng)對(duì)所有的危險(xiǎn)權(quán)限進(jìn)行了分組,稱(chēng)為 權(quán)限組 。屬于同一組的危險(xiǎn)權(quán)限將自動(dòng)合并授予,用戶(hù)授予應(yīng)用某個(gè)權(quán)限組的權(quán)限,則應(yīng)用將獲得該權(quán)限組下的所有權(quán)限(前提是相關(guān)權(quán)限在 AndroidManifest.xml 中有聲明)。
危險(xiǎn)權(quán)限 和 權(quán)限組 列表如下: 在 AndroidManifest.xml 聲明過(guò)的危險(xiǎn)權(quán)限對(duì)應(yīng)的權(quán)限組可以在系統(tǒng) “設(shè)置” -> “應(yīng)用” -> “應(yīng)用信息” -> “權(quán)限” 中查看,可以手動(dòng)授權(quán)和取消授權(quán)。
1、設(shè)備系統(tǒng)是 Android 6.0 (API 23) 或更高版本,并且應(yīng)用的 targetSdkVersion 是 23 或更高版本,則針對(duì)在 AndroidManifest.xml 中聲明的危險(xiǎn)權(quán)限,在運(yùn)行時(shí)還需要?jiǎng)討B(tài)請(qǐng)求用戶(hù)授權(quán)。
2、動(dòng)態(tài)權(quán)限請(qǐng)求相關(guān)操作的API封裝在在android.support.v4包中,發(fā)起請(qǐng)求權(quán)限的Activity需要直接或間接繼承android.support.v4.app.FragmentActivity。
3、 也可以在直接或間接繼承 android.support.v4.app.Fragment 的 Fragment 中發(fā)起權(quán)限請(qǐng)求。
首先在清單文件中注冊(cè)
然后在MainActivity.java中將權(quán)限封裝到一個(gè)String數(shù)組中
static final String[] PERMISSION = new String[]{ Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO, Manifest.permission.RECEIVE_BOOT_COMPLETED };
然后在onCreate()方法中加入一下代碼:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { //Android 6.0申請(qǐng)權(quán)限 ActivityCompat.requestPermissions(this, PERMISSION, 1); } else { Toast.makeText(this, '成功', Toast.LENGTH_SHORT).show(); }
我通常將上述代碼寫(xiě)在另一個(gè)方法中,然后在onCreate()方法中調(diào)用。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP基礎(chǔ)知識(shí)Command對(duì)象講解2. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)3. 解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問(wèn)題4. ASP中實(shí)現(xiàn)字符部位類(lèi)似.NET里String對(duì)象的PadLeft和PadRight函數(shù)5. XHTML 1.0:標(biāo)記新的開(kāi)端6. jsp+mysql實(shí)現(xiàn)網(wǎng)頁(yè)的分頁(yè)查詢(xún)7. asp知識(shí)整理筆記4(問(wèn)答模式)8. ASP.NET MVC通過(guò)勾選checkbox更改select的內(nèi)容9. JSP 中request與response的用法詳解10. JavaScrip簡(jiǎn)單數(shù)據(jù)類(lèi)型隱式轉(zhuǎn)換的實(shí)現(xiàn)
