一個Android應用可能需要權限才能調用Android系統的功能,因此它需要聲明調用自身所需要的權限。
通過在AndroidManifest.xml中的manifest元素中添加uses-permission子元素即可為程序本身聲明權限。
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.myapplication"> <!--指定該Android應用的包名,用於唯一標識該應用--> 4 5 <!--指定應用的圖標、標簽、圓圖標、主題等等--> 6 <application 7 android:allowBackup="true" 8 android:icon="@mipmap/ic_launcher" 9 android:label="@string/app_name" 10 android:roundIcon="@mipmap/ic_launcher_round" 11 android:supportsRtl="true" 12 android:theme="@style/AppTheme"> 13 14 <!--定義應用的一個組件:Activity,該Activity的類為MainActivity--> 15 <activity android:name=".MainActivity"> 16 <intent-filter> 17 18 <!--指定該Activity是程序的入口--> 19 <action android:name="android.intent.action.MAIN" /> 20 21 <!--指定加載該應用時運行該Activity--> 22 <category android:name="android.intent.category.LAUNCHER" /> 23 </intent-filter> 24 </activity> 25 </application> 26 27 <!--聲明該應用需要撥打電話的權限--> 28 <uses-permission android:name="android.permission.CALL_PHONE"/> 29 30 </manifest>
Android提供了大量的權限,這些權限都位於Manifest.permission類中。
常用Android權限表
權限 | 說明 |
ACCESS_NETWORK_STATE | 允許應用程序獲取網絡狀態信息的權限 |
ACCESS_WIFI_STATE | 允許應用程序獲取WiFi網絡狀態信息的權限 |
BATTERT_STATS | 允許應用程序電池狀態信息的權限 |
BLUETOOTH | 允許應用程序連接匹配的藍牙設備的權限 |
BLUETOOTH_ADMIN | 允許應用程序發現匹配的藍牙設備的權限 |
BROADCAST_SMS | 允許應用程序廣播收到短息提醒的權限 |
CALL_PHONE | 允許應用程序撥打電話的權限 |
CAMERA | 允許應用程序使用照相機的權限 |
CHANGE_NETWORK_STATE | 允許應用程序改變網絡連接狀態的權限 |
CHANGE_WIFI_STATE | 允許應用程序改變WiFi網絡連接狀態的權限 |
DELETE_CACHE_FILES | 允許應用程序刪除緩存文件的權限 |
DELETE_PACKAGES | 允許應用程序刪除安裝包的權限 |
FLASHLIGHT | 允許應用程序訪問閃光燈的權限 |
INTERNET | 允許應用程序打開網絡Socket的權限 |
MODIFY_AUDIO_SETTINGS | 允許應用程序修改全局聲音設置的權限 |
PROCESS_OUTGOING_CALLS | 允許應用程序監聽、控制、取消呼出電話的權限 |
READ_CONTACTS | 允許應用程序讀取用戶的聯系人數據的權限 |
READ_HISTORY_BOOKMARKS | 允許應用程序讀取歷史書簽的權限 |
READ_OWNER_DATA | 允許應用程序讀取用戶數據的權限 |
READ_PHONE_STATE | 允許應用程序讀取電話狀態的權限 |
READ_PHONE_SMS | 允許應用程序讀取短信的權限 |
REBOOT | 允許應用程序重啟系統的權限 |
RECEIVE_MMS | 允許應用程序接收、監控、處理彩信的權限 |
RECEIVE_SMS | 允許應用程序接收、監控、處理短信的權限 |
RECEIVE_AUDIO | 允許應用程序錄音的權限 |
SEND_SMS | 允許應用程序發送短信的權限 |
SET_ORIENTATION | 允許應用程序旋轉屏幕的權限 |
SET_TIME | 允許應用程序設置時間的權限 |
SET_TIME_ZONE | 允許應用程序設置時區的權限 |
SET_WALLPAPER | 允許應用程序設置桌面壁紙的權限 |
VIBRATE | 允許應用程序控制振動器的權限 |
WRITE_CONTACTS | 允許應用程序寫入用戶聯系人的權限 |
WRITE_HISTORY_BOOKMARKS | 允許應用程序寫歷史書簽的權限 |
WRITE_OWNER_DATA | 允許應用程序寫用戶數據的權限 |
WRITE_SMS | 允許應用程序修改短信的權限 |