2018-10-16【權(quán)限申請(qǐng)管理(單個(gè)權(quán)限和多個(gè)權(quán)限申請(qǐng))】

Android開(kāi)發(fā)時(shí),到6.0系統(tǒng)上之后,有的權(quán)限就得申請(qǐng)才能用了。

Android將權(quán)限分為正常權(quán)限 和 危險(xiǎn)權(quán)限

Android系統(tǒng)權(quán)限分為幾個(gè)保護(hù)級(jí)別。需要了解的兩個(gè)最重要保護(hù)級(jí)別是?正常權(quán)限?和?危險(xiǎn)權(quán)限:

(1)正常權(quán)限:

涵蓋應(yīng)用需要訪問(wèn)其沙盒外部數(shù)據(jù)或資源,但對(duì)用戶隱私或其他應(yīng)用操作風(fēng)險(xiǎn)很小的區(qū)域。

這些權(quán)限在應(yīng)用安裝時(shí)授予,運(yùn)行時(shí)不再詢問(wèn)用戶。例如: 網(wǎng)絡(luò)訪問(wèn)、WIFI狀態(tài)、音量設(shè)置等。

(2)危險(xiǎn)權(quán)限:

涵蓋應(yīng)用需要涉及用戶隱私信息的數(shù)據(jù)或資源,或者可能對(duì)用戶存儲(chǔ)的數(shù)據(jù)或其他應(yīng)用的操作產(chǎn)生影響的區(qū)域。

例如: 讀取通訊錄、讀寫存儲(chǔ)器數(shù)據(jù)、獲取用戶位置等。如果應(yīng)用聲明需要這些危險(xiǎn)權(quán)限,則必須在運(yùn)行時(shí)明確告訴用戶,讓用戶手動(dòng)授予。

【權(quán)限相關(guān)知識(shí),權(quán)限表請(qǐng)看頁(yè)尾】

前提:APP運(yùn)行在Android 6.0 (API level 23)或者更高級(jí)別的設(shè)備中,而且targetSdkVersion>=23時(shí),系統(tǒng)將會(huì)自動(dòng)采用動(dòng)態(tài)權(quán)限管理策略,

先來(lái)看看效果圖:(注:如果未授權(quán)就點(diǎn)擊打電話或拍照就會(huì)直接閃退,由此6.0必須手動(dòng)授權(quán),開(kāi)發(fā)時(shí)如果未授權(quán),可以判斷并提示用戶從新授權(quán)


上圖:

1:?jiǎn)蝹€(gè)授權(quán),電話授權(quán)。

2:有電話,SD卡,拍照授權(quán)三個(gè)一起授權(quán)


案例代碼:


publicclassMainActivityextendsAppCompatActivityimplements View.OnClickListener{

? ? privatestaticfinalintMY_PERMISSIONS_REQUEST_CALL_PHONE = 1;

? ? privatestaticfinalintMY_PERMISSIONS_REQUEST_CALL_CAMERA = 2;

? ? String[] permissions =new String[]{

? ? ? ? ? ? Manifest.permission.CAMERA,

? ? ? ? ? ? Manifest.permission.WRITE_EXTERNAL_STORAGE,

? ? ? ? ? ? Manifest.permission.CALL_PHONE

? ? };

? ? // 聲明一個(gè)集合,在后面的代碼中用來(lái)存儲(chǔ)用戶拒絕授權(quán)的權(quán)List mPermissionList =newArrayList<>();

? ? @Override

? ? protectedvoid onCreate(Bundle savedInstanceState) {

? ? ? ? super.onCreate(savedInstanceState);

? ? ? ? setContentView(R.layout.activity_main);

? ? ? ? initView();

? ? }

? ? privatevoid initView(){

? ? ? ? findViewById(R.id.btn1).setOnClickListener(this);

? ? ? ? findViewById(R.id.btn2).setOnClickListener(this);

? ? ? ? findViewById(R.id.btn3).setOnClickListener(this);

? ? ? ? findViewById(R.id.btn4).setOnClickListener(this);

? ? }

? ? @Override

? ? publicvoid onClick(View v) {

? ? ? ? switch (v.getId()){

? ? ? ? ? ? caseR.id.btn1://單個(gè)授權(quán)//檢查版本是否大于M if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

? ? ? ? ? ? ? ? ? ? if(ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

? ? ? ? ? ? ? ? ? ? ? ? ActivityCompat.requestPermissions(this,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? new String[]{Manifest.permission.CALL_PHONE},

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MY_PERMISSIONS_REQUEST_CALL_PHONE);

? ? ? ? ? ? ? ? ? ? }else {

? ? ? ? ? ? ? ? ? ? ? ? showToast("權(quán)限已申請(qǐng)");

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? caseR.id.btn2://多個(gè)授權(quán)mPermissionList.clear();for(inti = 0; i < permissions.length; i++) {

? ? ? ? ? ? ? ? ? ? if(ContextCompat.checkSelfPermission(MainActivity.this, permissions[i]) != PackageManager.PERMISSION_GRANTED) {

? ? ? ? ? ? ? ? ? ? ? ? mPermissionList.add(permissions[i]);

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? if(mPermissionList.isEmpty()) {//未授予的權(quán)限為空,表示都授予了Toast.makeText(MainActivity.this,"已經(jīng)授權(quán)",Toast.LENGTH_LONG).show();

? ? ? ? ? ? ? ? } else{//請(qǐng)求權(quán)限方法String[] permissions = mPermissionList.toArray(newString[mPermissionList.size()]);//將List轉(zhuǎn)為數(shù)組ActivityCompat.requestPermissions(MainActivity.this, permissions, MY_PERMISSIONS_REQUEST_CALL_CAMERA);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.btn3:

? ? ? ? ? ? ? ? Intent camera =new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

? ? ? ? ? ? ? ? startActivityForResult(camera, 1);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case R.id.btn4:

? ? ? ? ? ? ? ? Intent intent =new Intent(Intent.ACTION_CALL);

? ? ? ? ? ? ? ? Uri data = Uri.parse("tel:" + "10086");

? ? ? ? ? ? ? ? intent.setData(data);

? ? ? ? ? ? ? ? startActivity(intent);

? ? ? ? ? ? ? ? break;

? ? ? ? }

? ? }

? ? @Override

? ? publicvoidonRequestPermissionsResult(intrequestCode, String[] permissions,int[] grantResults) {

? ? ? ? if(requestCode == MY_PERMISSIONS_REQUEST_CALL_PHONE) {

? ? ? ? ? ? if(grantResults[0] == PackageManager.PERMISSION_GRANTED) {

? ? ? ? ? ? ? ? showToast("權(quán)限已申請(qǐng)");

? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? showToast("權(quán)限已拒絕");

? ? ? ? ? ? }

? ? ? ? }elseif(requestCode == MY_PERMISSIONS_REQUEST_CALL_CAMERA){

? ? ? ? ? ? ? ? for(inti = 0; i < grantResults.length; i++) {

? ? ? ? ? ? ? ? ? ? if(grantResults[i] != PackageManager.PERMISSION_GRANTED) {

? ? ? ? ? ? ? ? ? ? ? ? //判斷是否勾選禁止后不再詢問(wèn)booleanshowRequestPermission = ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, permissions[i]);

? ? ? ? ? ? ? ? ? ? ? ? if (showRequestPermission) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? showToast("權(quán)限未申請(qǐng)");

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? }

? ? ? ? super.onRequestPermissionsResult(requestCode, permissions, grantResults);

? ? }

? ? privatevoid showToast(String string){

? ? ? ? Toast.makeText(MainActivity.this,string,Toast.LENGTH_LONG).show();

? ? }

}

前提一定要注意:AndroidManifest中:

<uses-permission android:name="android.permission.CALL_PHONE"/>//電話<uses-permission android:name="android.permission.CAMERA"/>//拍照<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>//sd卡

此案例是自己全部用Java代碼寫的,項(xiàng)目危險(xiǎn)權(quán)限少則推薦使用,多的話就自己封裝或者借助第三方了。

權(quán)限申請(qǐng)有很多第三方封裝好的庫(kù)(工具類)可以實(shí)現(xiàn),Github上一大把,后續(xù)博客將找?guī)讉€(gè)好一點(diǎn)的來(lái)講解一下。

案例點(diǎn)擊下載

Android系統(tǒng)對(duì)所有的危險(xiǎn)權(quán)限進(jìn)行了分組,稱為權(quán)限組

屬于同一組的危險(xiǎn)權(quán)限將自動(dòng)合并授予,用戶授予應(yīng)用某個(gè)權(quán)限組的權(quán)限,則應(yīng)用將獲得該權(quán)限組下的所有權(quán)限(前提是相關(guān)權(quán)限在 AndroidManifest.xml 中有聲明)。


正常權(quán)限:和原來(lái)的使用方式一樣,只需在AndroidManifest.xml中添加即可

危險(xiǎn)權(quán)限:要使用的話就要申請(qǐng)了,(前提是相關(guān)權(quán)限在 AndroidManifest.xml 中也要有聲明)通過(guò)Java代碼申請(qǐng)。


權(quán)限表


訪問(wèn)登記屬性 android.permission.ACCESS_CHECKIN_PROPERTIES ,讀取或?qū)懭氲怯沜heck-in數(shù)據(jù)庫(kù)屬性表的權(quán)限

獲取錯(cuò)略位置 android.permission.ACCESS_COARSE_LOCATION,通過(guò)WiFi或移動(dòng)基站的方式獲取用戶錯(cuò)略的經(jīng)緯度信息,定位精度大概誤差在30~1500米

獲取精確位置 android.permission.ACCESS_FINE_LOCATION,通過(guò)GPS芯片接收衛(wèi)星的定位信息,定位精度達(dá)10米以內(nèi)

獲取模擬定位信息 android.permission.ACCESS_MOCK_LOCATION,獲取模擬定位信息,一般用于幫助開(kāi)發(fā)者調(diào)試應(yīng)用

獲取網(wǎng)絡(luò)狀態(tài) android.permission.ACCESS_NETWORK_STATE,獲取網(wǎng)絡(luò)信息狀態(tài),如當(dāng)前的網(wǎng)絡(luò)連接是否有效

訪問(wèn)Surface Flinger android.permission.ACCESS_SURFACE_FLINGER,Android平臺(tái)上底層的圖形顯示支持,一般用于游戲或照相機(jī)預(yù)覽界面和底層模式的屏幕截圖

獲取WiFi狀態(tài) android.permission.ACCESS_WIFI_STATE,獲取當(dāng)前WiFi接入的狀態(tài)以及WLAN熱點(diǎn)的信息

賬戶管理 android.permission.ACCOUNT_MANAGER,獲取賬戶驗(yàn)證信息,主要為GMail賬戶信息,只有系統(tǒng)級(jí)進(jìn)程才能訪問(wèn)的權(quán)限

驗(yàn)證賬戶 android.permission.AUTHENTICATE_ACCOUNTS,允許一個(gè)程序通過(guò)賬戶驗(yàn)證方式訪問(wèn)賬戶管理ACCOUNT_MANAGER相關(guān)信息

電量統(tǒng)計(jì) android.permission.BATTERY_STATS,獲取電池電量統(tǒng)計(jì)信息

綁定小插件 android.permission.BIND_APPWIDGET,允許一個(gè)程序告訴appWidget服務(wù)需要訪問(wèn)小插件的數(shù)據(jù)庫(kù),只有非常少的應(yīng)用才用到此權(quán)限

綁定設(shè)備管理 android.permission.BIND_DEVICE_ADMIN,請(qǐng)求系統(tǒng)管理員接收者receiver,只有系統(tǒng)才能使用

綁定輸入法 android.permission.BIND_INPUT_METHOD ,請(qǐng)求InputMethodService服務(wù),只有系統(tǒng)才能使用

綁定RemoteView android.permission.BIND_REMOTEVIEWS,必須通過(guò)RemoteViewsService服務(wù)來(lái)請(qǐng)求,只有系統(tǒng)才能用

綁定壁紙 android.permission.BIND_WALLPAPER,必須通過(guò)WallpaperService服務(wù)來(lái)請(qǐng)求,只有系統(tǒng)才能用

使用藍(lán)牙 android.permission.BLUETOOTH,允許程序連接配對(duì)過(guò)的藍(lán)牙設(shè)備

藍(lán)牙管理 android.permission.BLUETOOTH_ADMIN,允許程序進(jìn)行發(fā)現(xiàn)和配對(duì)新的藍(lán)牙設(shè)備

變成磚頭 android.permission.BRICK,能夠禁用手機(jī),非常危險(xiǎn),顧名思義就是讓手機(jī)變成磚頭

應(yīng)用刪除時(shí)廣播 android.permission.BROADCAST_PACKAGE_REMOVED,當(dāng)一個(gè)應(yīng)用在刪除時(shí)觸發(fā)一個(gè)廣播

收到短信時(shí)廣播 android.permission.BROADCAST_SMS,當(dāng)收到短信時(shí)觸發(fā)一個(gè)廣播

連續(xù)廣播 android.permission.BROADCAST_STICKY,允許一個(gè)程序收到廣播后快速收到下一個(gè)廣播

WAP PUSH廣播 android.permission.BROADCAST_WAP_PUSH,WAP PUSH服務(wù)收到后觸發(fā)一個(gè)廣播

撥打電話 android.permission.CALL_PHONE,允許程序從非系統(tǒng)撥號(hào)器里輸入電話號(hào)碼

通話權(quán)限 android.permission.CALL_PRIVILEGED,允許程序撥打電話,替換系統(tǒng)的撥號(hào)器界面

拍照權(quán)限 android.permission.CAMERA,允許訪問(wèn)攝像頭進(jìn)行拍照

改變組件狀態(tài) android.permission.CHANGE_COMPONENT_ENABLED_STATE,改變組件是否啟用狀態(tài)

改變配置 android.permission.CHANGE_CONFIGURATION,允許當(dāng)前應(yīng)用改變配置,如定位

改變網(wǎng)絡(luò)狀態(tài) android.permission.CHANGE_NETWORK_STATE,改變網(wǎng)絡(luò)狀態(tài)如是否能聯(lián)網(wǎng)

改變WiFi多播狀態(tài) android.permission.CHANGE_WIFI_MULTICAST_STATE,改變WiFi多播狀態(tài)

改變WiFi狀態(tài) android.permission.CHANGE_WIFI_STATE,改變WiFi狀態(tài)

清除應(yīng)用緩存 android.permission.CLEAR_APP_CACHE,清除應(yīng)用緩存

清除用戶數(shù)據(jù) android.permission.CLEAR_APP_USER_DATA,清除應(yīng)用的用戶數(shù)據(jù)

底層訪問(wèn)權(quán)限 android.permission.CWJ_GROUP,允許CWJ賬戶組訪問(wèn)底層信息

手機(jī)優(yōu)化大師擴(kuò)展權(quán)限 android.permission.CELL_PHONE_MASTER_EX,手機(jī)優(yōu)化大師擴(kuò)展權(quán)限

控制定位更新 android.permission.CONTROL_LOCATION_UPDATES,允許獲得移動(dòng)網(wǎng)絡(luò)定位信息改變

刪除緩存文件 android.permission.DELETE_CACHE_FILES,允許應(yīng)用刪除緩存文件

刪除應(yīng)用 android.permission.DELETE_PACKAGES,允許程序刪除應(yīng)用

電源管理 android.permission.DEVICE_POWER,允許訪問(wèn)底層電源管理

應(yīng)用診斷 android.permission.DIAGNOSTIC,允許程序到RW到診斷資源

禁用鍵盤鎖 android.permission.DISABLE_KEYGUARD,允許程序禁用鍵盤鎖

轉(zhuǎn)存系統(tǒng)信息 android.permission.DUMP,允許程序獲取系統(tǒng)dump信息從系統(tǒng)服務(wù)

狀態(tài)欄控制 android.permission.EXPAND_STATUS_BAR,允許程序擴(kuò)展或收縮狀態(tài)欄

工廠測(cè)試模式 android.permission.FACTORY_TEST,允許程序運(yùn)行工廠測(cè)試模式

使用閃光燈 android.permission.FLASHLIGHT,允許訪問(wèn)閃光燈

強(qiáng)制后退 android.permission.FORCE_BACK,允許程序強(qiáng)制使用back后退按鍵,無(wú)論Activity是否在頂層

訪問(wèn)賬戶Gmail列表 android.permission.GET_ACCOUNTS,訪問(wèn)GMail賬戶列表

獲取應(yīng)用大小 android.permission.GET_PACKAGE_SIZE,獲取應(yīng)用的文件大小

獲取任務(wù)信息 android.permission.GET_TASKS,允許程序獲取當(dāng)前或最近運(yùn)行的應(yīng)用

允許全局搜索 android.permission.GLOBAL_SEARCH,允許程序使用全局搜索功能

硬件測(cè)試 android.permission.HARDWARE_TEST,訪問(wèn)硬件輔助設(shè)備,用于硬件測(cè)試

注射事件 android.permission.INJECT_EVENTS,允許訪問(wèn)本程序的底層事件,獲取按鍵、軌跡球的事件流

安裝定位提供 android.permission.INSTALL_LOCATION_PROVIDER,安裝定位提供

安裝應(yīng)用程序 android.permission.INSTALL_PACKAGES,允許程序安裝應(yīng)用

內(nèi)部系統(tǒng)窗口 android.permission.INTERNAL_SYSTEM_WINDOW,允許程序打開(kāi)內(nèi)部窗口,不對(duì)第三方應(yīng)用程序開(kāi)放此權(quán)限

訪問(wèn)網(wǎng)絡(luò) android.permission.INTERNET,訪問(wèn)網(wǎng)絡(luò)連接,可能產(chǎn)生GPRS流量

結(jié)束后臺(tái)進(jìn)程 android.permission.KILL_BACKGROUND_PROCESSES,允許程序調(diào)用killBackgroundProcesses(String).方法結(jié)束后臺(tái)進(jìn)程

管理賬戶 android.permission.MANAGE_ACCOUNTS,允許程序管理AccountManager中的賬戶列表

管理程序引用 android.permission.MANAGE_APP_TOKENS,管理創(chuàng)建、摧毀、Z軸順序,僅用于系統(tǒng)

高級(jí)權(quán)限 android.permission.MTWEAK_USER,允許mTweak用戶訪問(wèn)高級(jí)系統(tǒng)權(quán)限

社區(qū)權(quán)限 android.permission.MTWEAK_FORUM,允許使用mTweak社區(qū)權(quán)限

軟格式化 android.permission.MASTER_CLEAR,允許程序執(zhí)行軟格式化,刪除系統(tǒng)配置信息

修改聲音設(shè)置 android.permission.MODIFY_AUDIO_SETTINGS,修改聲音設(shè)置信息

修改電話狀態(tài) android.permission.MODIFY_PHONE_STATE,修改電話狀態(tài),如飛行模式,但不包含替換系統(tǒng)撥號(hào)器界面

格式化文件系統(tǒng) android.permission.MOUNT_FORMAT_FILESYSTEMS,格式化可移動(dòng)文件系統(tǒng),比如格式化清空SD卡

掛載文件系統(tǒng) android.permission.MOUNT_UNMOUNT_FILESYSTEMS,掛載、反掛載外部文件系統(tǒng)

允許NFC通訊 android.permission.NFC,允許程序執(zhí)行NFC近距離通訊操作,用于移動(dòng)支持

永久Activity android.permission.PERSISTENT_ACTIVITY,創(chuàng)建一個(gè)永久的Activity,該功能標(biāo)記為將來(lái)將被移除

處理?yè)艹鲭娫?android.permission.PROCESS_OUTGOING_CALLS,允許程序監(jiān)視,修改或放棄播出電話

讀取日程提醒 android.permission.READ_CALENDAR,允許程序讀取用戶的日程信息

讀取聯(lián)系人 android.permission.READ_CONTACTS,允許應(yīng)用訪問(wèn)聯(lián)系人通訊錄信息

屏幕截圖 android.permission.READ_FRAME_BUFFER,讀取幀緩存用于屏幕截圖

讀取收藏夾和歷史記錄 com.android.browser.permission.READ_HISTORY_BOOKMARKS,讀取瀏覽器收藏夾和歷史記錄

讀取輸入狀態(tài) android.permission.READ_INPUT_STATE,讀取當(dāng)前鍵的輸入狀態(tài),僅用于系統(tǒng)

讀取系統(tǒng)日志 android.permission.READ_LOGS,讀取系統(tǒng)底層日志

讀取電話狀態(tài) android.permission.READ_PHONE_STATE,訪問(wèn)電話狀態(tài)

讀取短信內(nèi)容 android.permission.READ_SMS,讀取短信內(nèi)容

讀取同步設(shè)置 android.permission.READ_SYNC_SETTINGS,讀取同步設(shè)置,讀取Google在線同步設(shè)置

讀取同步狀態(tài) android.permission.READ_SYNC_STATS,讀取同步狀態(tài),獲得Google在線同步狀態(tài)

重啟設(shè)備 android.permission.REBOOT,允許程序重新啟動(dòng)設(shè)備

開(kāi)機(jī)自動(dòng)允許 android.permission.RECEIVE_BOOT_COMPLETED,允許程序開(kāi)機(jī)自動(dòng)運(yùn)行

接收彩信 android.permission.RECEIVE_MMS,接收彩信

接收短信 android.permission.RECEIVE_SMS,接收短信

接收Wap Push android.permission.RECEIVE_WAP_PUSH,接收WAP PUSH信息

錄音 android.permission.RECORD_AUDIO,錄制聲音通過(guò)手機(jī)或耳機(jī)的麥克

排序系統(tǒng)任務(wù) android.permission.REORDER_TASKS,重新排序系統(tǒng)Z軸運(yùn)行中的任務(wù)

結(jié)束系統(tǒng)任務(wù) android.permission.RESTART_PACKAGES,結(jié)束任務(wù)通過(guò)restartPackage(String)方法,該方式將在外來(lái)放棄

發(fā)送短信 android.permission.SEND_SMS,發(fā)送短信

設(shè)置Activity觀察其 android.permission.SET_ACTIVITY_WATCHER,設(shè)置Activity觀察器一般用于monkey測(cè)試

設(shè)置鬧鈴提醒 com.android.alarm.permission.SET_ALARM,設(shè)置鬧鈴提醒

設(shè)置總是退出 android.permission.SET_ALWAYS_FINISH,設(shè)置程序在后臺(tái)是否總是退出

設(shè)置動(dòng)畫縮放 android.permission.SET_ANIMATION_SCALE,設(shè)置全局動(dòng)畫縮放

設(shè)置調(diào)試程序 android.permission.SET_DEBUG_APP,設(shè)置調(diào)試程序,一般用于開(kāi)發(fā)

設(shè)置屏幕方向 android.permission.SET_ORIENTATION,設(shè)置屏幕方向?yàn)闄M屏或標(biāo)準(zhǔn)方式顯示,不用于普通應(yīng)用

設(shè)置應(yīng)用參數(shù) android.permission.SET_PREFERRED_APPLICATIONS,設(shè)置應(yīng)用的參數(shù),已不再工作具體查看addPackageToPreferred(String) 介紹

設(shè)置進(jìn)程限制 android.permission.SET_PROCESS_LIMIT,允許程序設(shè)置最大的進(jìn)程數(shù)量的限制

設(shè)置系統(tǒng)時(shí)間 android.permission.SET_TIME,設(shè)置系統(tǒng)時(shí)間

設(shè)置系統(tǒng)時(shí)區(qū) android.permission.SET_TIME_ZONE,設(shè)置系統(tǒng)時(shí)區(qū)

設(shè)置桌面壁紙 android.permission.SET_WALLPAPER,設(shè)置桌面壁紙

設(shè)置壁紙建議 android.permission.SET_WALLPAPER_HINTS,設(shè)置壁紙建議

發(fā)送永久進(jìn)程信號(hào) android.permission.SIGNAL_PERSISTENT_PROCESSES,發(fā)送一個(gè)永久的進(jìn)程信號(hào)

狀態(tài)欄控制 android.permission.STATUS_BAR,允許程序打開(kāi)、關(guān)閉、禁用狀態(tài)欄

訪問(wèn)訂閱內(nèi)容 android.permission.SUBSCRIBED_FEEDS_READ,訪問(wèn)訂閱信息的數(shù)據(jù)庫(kù)

寫入訂閱內(nèi)容 android.permission.SUBSCRIBED_FEEDS_WRITE,寫入或修改訂閱內(nèi)容的數(shù)據(jù)庫(kù)

顯示系統(tǒng)窗口 android.permission.SYSTEM_ALERT_WINDOW,顯示系統(tǒng)窗口

更新設(shè)備狀態(tài) android.permission.UPDATE_DEVICE_STATS,更新設(shè)備狀態(tài)

使用證書 android.permission.USE_CREDENTIALS,允許程序請(qǐng)求驗(yàn)證從AccountManager

使用SIP視頻 android.permission.USE_SIP,允許程序使用SIP視頻服務(wù)

使用振動(dòng) android.permission.VIBRATE,允許振動(dòng)

喚醒鎖定 android.permission.WAKE_LOCK,允許程序在手機(jī)屏幕關(guān)閉后后臺(tái)進(jìn)程仍然運(yùn)行

寫入GPRS接入點(diǎn)設(shè)置 android.permission.WRITE_APN_SETTINGS,寫入網(wǎng)絡(luò)GPRS接入點(diǎn)設(shè)置

寫入日程提醒 android.permission.WRITE_CALENDAR,寫入日程,但不可讀取

寫入聯(lián)系人 android.permission.WRITE_CONTACTS,寫入聯(lián)系人,但不可讀取

寫入外部存儲(chǔ) android.permission.WRITE_EXTERNAL_STORAGE,允許程序?qū)懭胪獠看鎯?chǔ),如SD卡上寫文件

寫入Google地圖數(shù)據(jù) android.permission.WRITE_GSERVICES,允許程序?qū)懭隚oogle Map服務(wù)數(shù)據(jù)

寫入收藏夾和歷史記錄 com.android.browser.permission.WRITE_HISTORY_BOOKMARKS,寫入瀏覽器歷史記錄或收藏夾,但不可讀取

讀寫系統(tǒng)敏感設(shè)置 android.permission.WRITE_SECURE_SETTINGS,允許程序讀寫系統(tǒng)安全敏感的設(shè)置項(xiàng)

讀寫系統(tǒng)設(shè)置 android.permission.WRITE_SETTINGS,允許讀寫系統(tǒng)設(shè)置項(xiàng)

編寫短信 android.permission.WRITE_SMS,允許編寫短信

寫入在線同步設(shè)置 android.permission.WRITE_SYNC_SETTINGS,寫入Google在線同步設(shè)置危險(xiǎn)權(quán)限

權(quán)限組

CALENDAR(日歷)

READ_CALENDAR

WRITE_CALENDAR

CAMERA(相機(jī))

CAMERA

CONTACTS(聯(lián)系人)

READ_CONTACTS

WRITE_CONTACTS

GET_ACCOUNTS

LOCATION(位置)

ACCESS_FINE_LOCATION

ACCESS_COARSE_LOCATION

MICROPHONE(麥克風(fēng))

RECORD_AUDIO

PHONE(手機(jī))

READ_PHONE_STATE

CALL_PHONE

ERAD_CALL_LOG

WRITE_CALL_LOG

ADD_VOICEMAIL

USE_SIP

PROCESS_OUTGOING_CALLS

SENSORS(傳感器)

BODY_SENSORS

SMS(短信)

SEND_SMS

RECEIVE_SMS

READ_SMS

RECEIVE_WAP_PUSH

RECEIVE_MMS

STORAGE(存儲(chǔ)卡)

READ_EXTERNAL_STORAGE

WRITE_EXTERNAL_STORAGE

中文翻譯過(guò)來(lái)如下:

group:android.permission-group.CALENDAR 日歷

  permission:android.permission.READ_CALENDAR 讀取日歷

  permission:android.permission.WRITE_CALENDAR 寫入日歷

group:android.permission-group.CAMERA 照相機(jī)

  permission:android.permission.CAMERA

group:android.permission-group.CONTACTS 通訊錄方面

  permission:android.permission.WRITE_CONTACTS 寫入通訊錄

  permission:android.permission.GET_ACCOUNTS 訪問(wèn)通訊錄權(quán)限

  permission:android.permission.READ_CONTACTS 讀取通訊錄

group:android.permission-group.LOCATION 位置

  permission:android.permission.ACCESS_FINE_LOCATION 獲取位置

  permission:android.permission.ACCESS_COARSE_LOCATION 獲取粗略定位

group:android.permission-group.MICROPHONE 擴(kuò)音器;麥克風(fēng)

permission:android.permission.RECORD_AUDIO 錄音

group:android.permission-group.PHONE 電話方面

  permission:android.permission.READ_CALL_LOG 看電話記錄

  permission:android.permission.READ_PHONE_STATE 讀取手機(jī)狀態(tài)

  permission:android.permission.CALL_PHONE 打電話

  permission:android.permission.WRITE_CALL_LOG 編寫調(diào)用日志

  permission:android.permission.USE_SIP 使用SIP

  permission:android.permission.PROCESS_OUTGOING_CALLS 過(guò)程輸出調(diào)用   permission:com.android.voicemail.permission.ADD_VOICEMAIL 添加語(yǔ)音信箱

group:android.permission-group.SENSORS 傳感器

  permission:android.permission.BODY_SENSORS 體傳感器

group:android.permission-group.SMS 信息

 permission:android.permission.READ_SMS 讀取信息

  permission:android.permission.RECEIVE_WAP_PUSH 收到WAP推送

  permission:android.permission.RECEIVE_MMS 接收彩信

  permission:android.permission.RECEIVE_SMS 收信息

  permission:android.permission.SEND_SMS 發(fā)信息

  permission:android.permission.READ_CELL_BROADCASTS 讀廣播

group:android.permission-group.STORAGE 存儲(chǔ)

  permission:android.permission.READ_EXTERNAL_STORAGE 讀取外部存儲(chǔ)器

  permission:android.permission.WRITE_EXTERNAL_STORAGE 寫外部存儲(chǔ)器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容