一个Android应用一般需要声明调用自身所需要的权限,才能被其他应用调用以及调用Android系统的功能。
①、声明运行该应用本身所需要的权限
通过为<manifest.../>元素添加<uses-permission.../>子元素即可为程序本身声明权限。
例 <!-- 声明该应用本身需要获取网络状态信息的权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
②、声明调用该应用所需的权限
通过为应用的各组件元素,如<activity.../>元素添加<uses-permission.../>子元素即可声明调用该程序所需的权限。
例 在<activity.../>元素里添加如下代码:
<!-- 声明该应用本身需要发送短信的权限 -->
<uses-permission android:name="android.permission.SEND_SMS"/>
*Manifest.permission类中的常用权限
权限 | 说明 |
ACCESS_NETWORK_STATE | 允许应用程序获取网络状态信息的权限 |
ACCESS_WIFI_STATE | 允许应用程序获取Wi-Fi网络状态信息的权限 |
BATTERY_STATS | 允许应用程序获取电池状态信息的权限 |
BLUETOOTH | 允许应用程序连接匹配的蓝牙设备的权限 |
BLUETOOTH_ADMIN | 允许应用程序发现匹配的蓝牙设备的权限 |
BROADCAST_SMS | 允许应用程序广播收到短信提醒的权限 |
CALL_PHONE | 允许应用程序拨打电话的权限 |
CAMERA | 允许应用程序使用照相机的权限 |
CHANGE_NETWORK_STATE | 允许应用程序改变网络连接状态的权限 |
CHANGE_WIFI_STATE | 允许应用程序改变Wi-Fi网络连接状态的权限 |
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 | 允许应用程序接收、监控、处理短信的权限 |
RECORD_AUDIO | 允许应用程序录音的权限 |
SEND_SMS | 允许应用程序发送短信的权限 |
SET_ORIENTATION | 允许应用程序旋转屏幕的权限 |
SET_TIME | 允许应用程序设置时间的权限 |
SET_TIME_ZONE | 允许应用程序设置时区的权限 |
SET_WALLPAPER | 允许应用程序设置桌面壁纸的权限 |
VIBRATE | 允许应用程序控制振动器的权限 |
WRITE_CONTACTS | 允许应用程序写入用户联系人的权限 |
WRITE_HISTORY_BOOKMARKS | 允许应用程序写历史书签的权限 |
WRITE_OWNER_DATA | 允许应用程序写用户数据的权限 |
WRITE_SMS | 允许应用程序写短信的权限 |