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)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市韭寸,隨后出現(xiàn)的幾起案子春哨,更是在濱河造成了極大的恐慌,老刑警劉巖恩伺,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赴背,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)凰荚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門燃观,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人便瑟,你說(shuō)我怎么就攤上這事缆毁。” “怎么了到涂?”我有些...
    開(kāi)封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵脊框,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我践啄,道長(zhǎng)缚陷,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任往核,我火速辦了婚禮箫爷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘聂儒。我一直安慰自己虎锚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布衩婚。 她就那樣靜靜地躺著窜护,像睡著了一般。 火紅的嫁衣襯著肌膚如雪非春。 梳的紋絲不亂的頭發(fā)上柱徙,一...
    開(kāi)封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音奇昙,去河邊找鬼护侮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛储耐,可吹牛的內(nèi)容都是我干的羊初。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼什湘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼长赞!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起闽撤,我...
    開(kāi)封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤得哆,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后哟旗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體贩据,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡栋操,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乐设。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绎巨,死狀恐怖近尚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情场勤,我是刑警寧澤戈锻,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站和媳,受9級(jí)特大地震影響格遭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜留瞳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一拒迅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧她倘,春花似錦璧微、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至荧止,卻和暖如春屹电,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背跃巡。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工危号, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人素邪。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓葱色,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親娘香。 傳聞我的和親對(duì)象是個(gè)殘疾皇子苍狰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

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