一个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 | 允许应用程序修改短信的权限 |