中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

怎么在Android中手動(dòng)檢查并申請(qǐng)權(quán)限-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)怎么在Android中手動(dòng)檢查并申請(qǐng)權(quán)限,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),呼蘭企業(yè)網(wǎng)站建設(shè),呼蘭品牌網(wǎng)站建設(shè),網(wǎng)站定制,呼蘭網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,呼蘭網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Android權(quán)限一般是在AndroidManifest.xml中聲明,在安裝或首次使用的時(shí)候系統(tǒng)會(huì)自動(dòng)提示用戶是否提供權(quán)限

Android官方文檔:

Then, when the application is installed on the device, the installer determines whether or not to grant the requested permission by checking the authorities that signed the application's certificates and, in some cases, asking the user. If the permission is granted, the application is able to use the protected features. If not, its attempts to access those features will simply fail without any notification to the user.

但有時(shí)候因?yàn)槭謾C(jī)設(shè)備等原因,并沒有在一開始就彈出提示框讓用戶確認(rèn)是否提供權(quán)限,對(duì)于有些權(quán)限,不確認(rèn)的話就不提供權(quán)限,因此,有些功能就無法實(shí)現(xiàn)。

這時(shí)候需要我們手動(dòng)檢查是否已經(jīng)擁有權(quán)限,沒有的話就調(diào)用代碼提示用戶提供權(quán)限。

如何手動(dòng)檢查并申請(qǐng)權(quán)限

如:在寫入之前檢查是否有WRITE_EXTERNAL_STORAGE權(quán)限,沒有則申請(qǐng)權(quán)限

代碼:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
  != PackageManager.PERMISSION_GRANTED) {
 //申請(qǐng)WRITE_EXTERNAL_STORAGE權(quán)限
 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
   WRITE_EXTERNAL_STORAGE_REQUEST_CODE);
}

請(qǐng)求權(quán)限后,系統(tǒng)會(huì)彈出請(qǐng)求權(quán)限的Dialog,允許即可

用戶選擇允許或拒絕后,會(huì)回調(diào)onRequestPermissionsResult方法, 該方法類似于onActivityResult

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
 super.onRequestPermissionsResult(requestCode, permissions, grantResults);
 doNext(requestCode,grantResults);
}

PS:

在Android6.0,有些權(quán)限只需要在AndroidManifest.xml文件中聲明即可,但有些除了聲明以外,還需要在運(yùn)行時(shí)判斷,即用戶確認(rèn),需要確認(rèn)的權(quán)限如下:

身體傳感器 
日歷 
攝像頭 
通訊錄 
地理位置 
麥克風(fēng) 
電話 
短信 
存儲(chǔ)空間

Android6.0系統(tǒng)默認(rèn)為targetSdkVersion小于23的應(yīng)用默認(rèn)授予了所申請(qǐng)的所有權(quán)限,

所以如果你以前的APP設(shè)置的targetSdkVersion低于23,在運(yùn)行時(shí)也不會(huì)崩潰,

但這也只是一個(gè)臨時(shí)的救急策略,用戶還是可以在設(shè)置中取消授予的權(quán)限。

以下權(quán)限只需要在AndroidManifest.xml中聲明即可使用:

android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 
android.permission.ACCESS_NETWORK_STATE 
android.permission.ACCESS_NOTIFICATION_POLICY 
android.permission.ACCESS_WIFI_STATE 
android.permission.ACCESS_WIMAX_STATE 
android.permission.BLUETOOTH 
android.permission.BLUETOOTH_ADMIN 
android.permission.BROADCAST_STICKY 
android.permission.CHANGE_NETWORK_STATE 
android.permission.CHANGE_WIFI_MULTICAST_STATE 
android.permission.CHANGE_WIFI_STATE 
android.permission.CHANGE_WIMAX_STATE 
android.permission.DISABLE_KEYGUARD 
android.permission.EXPAND_STATUS_BAR 
android.permission.FLASHLIGHT 
android.permission.GET_ACCOUNTS 
android.permission.GET_PACKAGE_SIZE 
android.permission.INTERNET 
android.permission.KILL_BACKGROUND_PROCESSES 
android.permission.MODIFY_AUDIO_SETTINGS 
android.permission.NFC 
android.permission.READ_SYNC_SETTINGS 
android.permission.READ_SYNC_STATS 
android.permission.RECEIVE_BOOT_COMPLETED 
android.permission.REORDER_TASKS 
android.permission.REQUEST_INSTALL_PACKAGES 
android.permission.SET_TIME_ZONE 
android.permission.SET_WALLPAPER 
android.permission.SET_WALLPAPER_HINTS 
android.permission.SUBSCRIBED_FEEDS_READ 
android.permission.TRANSMIT_IR 
android.permission.USE_FINGERPRINT 
android.permission.VIBRATE 
android.permission.WAKE_LOCK 
android.permission.WRITE_SYNC_SETTINGS 
com.android.alarm.permission.SET_ALARM 
com.android.launcher.permission.INSTALL_SHORTCUT 
com.android.launcher.permission.UNINSTALL_SHORTCUT
Android是什么

Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。

關(guān)于怎么在Android中手動(dòng)檢查并申請(qǐng)權(quán)限就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

當(dāng)前標(biāo)題:怎么在Android中手動(dòng)檢查并申請(qǐng)權(quán)限-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://www.rwnh.cn/article14/cepcge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司網(wǎng)站排名、關(guān)鍵詞優(yōu)化網(wǎng)站制作、服務(wù)器托管、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
江津市| 全南县| 敖汉旗| 绥化市| 馆陶县| 互助| 北川| 射阳县| 洛浦县| 尤溪县| 琼结县| 襄城县| 金昌市| 得荣县| 扬中市| 万宁市| 镇宁| 临沂市| 元朗区| 衡阳县| 塔城市| 肥城市| 朔州市| 越西县| 扬中市| 皮山县| 永福县| 海晏县| 太仓市| 乌什县| 白银市| 双城市| 鸡西市| 静乐县| 贵阳市| 信宜市| 正镶白旗| 安阳县| 资源县| 浦江县| 富源县|