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)講解一下瘫俊。
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ǔ)器