我们在 AndroidManifest.xml里需要对一些软件需要的操作做一些权限的声明,
比如我们的软件有发送短信的功能,那么就需要在 AndroidManifest.xml 里做如下声明
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="cn.com.fetion.android"
- android:versionCode="1"
- android:versionName="1.0.0">
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".welcomActivity"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
- </manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.com.fetion.android"
android:versionCode="1"
android:versionName="1.0.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".welcomActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
</manifest>
注意加粗的代码就是声明该软件具有发送短信的功能,如果不声明该权限调用该功能的时候就会出现异常,
并且系统不会报具体是什么异常。
那么android都有那些权限需要声明呢?
我们可以从android 提供的文档中找到答案
具体页面在
android-sdk-windows-1.6_r1/docs/reference/android/Manifest.permission.html
Manifest.permission 这个类定义了android全部的权限共106个
ACCESS_CHECKIN_PROPERTIES | 允许读写访问"properties"表在checkin数据库中,改值可以修改上传 | Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded. |
ACCESS_COARSE_LOCATION | 允许应用程序访问粗糙的位置(例如:Cell-ID,WiFi)。 | Allows an application to access coarse (e.g., Cell-ID, WiFi) location |
ACCESS_FINE_LOCATION | 允许一个程序访问精良位置(如GPS) | Allows an application to access fine (e.g., GPS) location |
ACCESS_LOCATION_EXTRA_COMMANDS | 允许一个程序访问额外的位置来提供命令。 | Allows an application to access extra location provider commands |
ACCESS_MOCK_LOCATION | 允许程序创建模拟位置提供用于测试 | Allows an application to create mock location providers for testing |
ACCESS_NETWORK_STATE | 允许程序访问有关GSM网络信息 | Allows applications to access information about networks |
ACCESS_SURFACE_FLINGER | 允许程序使用SurfaceFlinger底层特性 | Allows an application to use SurfaceFlinger's low level features |
ACCESS_WIFI_STATE | 允许程序访问Wi-Fi网络状态信息 | Allows applications to access information about Wi-Fi networks |
BATTERY_STATS | 允许程序收集手机电池统计信息 | Allows an application to collect battery statistics |
BIND_APPWIDGET | 允许程序通知AppWidget服务,哪个程序可以访问AppWidget数据。 | Allows an application to tell the AppWidget service which application can access AppWidget's data. |
BIND_INPUT_METHOD | 输入法服务必须请求来确保只有唯一的系统可以绑定他们。 | Must be required by input method services, to ensure that only the system can bind to them. |
BLUETOOTH | 允许程序链接匹配的蓝牙设备。 | Allows applications to connect to paired bluetooth devices |
BLUETOOTH_ADMIN | 允许程序发现和配对蓝牙设备 | Allows applications to discover and pair bluetooth devices |
BRICK | 请求能够禁用设备(非常危险) | Required to be able to disable the device (very dangerous!). |
BROADCAST_PACKAGE_REMOVED | 允许程序广播一个提示消息在一个应用程序包已经移除后 | Allows an application to broadcast a notification that an application package has been removed. |
BROADCAST_SMS | 允许程序广播一个SMS接收提示。 | Allows an application to broadcast an SMS receipt notification |
BROADCAST_STICKY | 允许一个程序广播常用 | Allows an application to broadcast sticky intents. |
BROADCAST_WAP_PUSH | 允许程序广播一个WAP PUSH接收提示。 | Allows an application to broadcast a WAP PUSH receipt notification |
CALL_PHONE | 允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认 | Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed. |
CALL_PRIVILEGED | 允许一个程序拨打任何号码,包含紧急号码无需通过拨号用户界面需要用户确认 | Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed. |
CAMERA | 请求访问使用照相设备 | Required to be able to access the camera device. |
CHANGE_COMPONENT_ENABLED_STATE | 允许一个程序是否改变一个组件或其他的启用或禁用 | Allows an application to change whether an application component (other than its own) is enabled or not. |
CHANGE_CONFIGURATION | 允许一个程序修改当前设置,如本地化 | Allows an application to modify the current configuration, such as locale. |
CHANGE_NETWORK_STATE | 允许程序改变网络连接状态 | Allows applications to change network connectivity state |
CHANGE_WIFI_MULTICAST_STATE | 允许程序进入Wi-Fi连通模式。 | Allows applications to enter Wi-Fi Multicast mode |
CHANGE_WIFI_STATE | 允许程序改变Wi-Fi连接状态。 | Allows applications to change Wi-Fi connectivity state |
CLEAR_APP_CACHE | 允许程序清除设备上所有安装程序的缓存。 | Allows an application to clear the caches of all installed applications on the device. |
CLEAR_APP_USER_DATA | 允许程序清除用户数据。 | Allows an application to clear user data |
CONTROL_LOCATION_UPDATES | 允许启用禁止位置更新提示从无线模块 | Allows enabling/disabling location update notifications from the radio. |
DELETE_CACHE_FILES | 允许程序删除缓存文件 | Allows an application to delete cache files. |
DELETE_PACKAGES | 允许程序删除数据包 | Allows an application to delete packages. |
DEVICE_POWER | 允许访问底层电源管理 | Allows low-level access to power management |
DIAGNOSTIC | 允许程序RW诊断资源 | Allows applications to RW to diagnostic resources. |
DISABLE_KEYGUARD | 允许程序禁用键盘锁 | Allows applications to disable the keyguard |
DUMP | 允许程序恢复状态转存信息通过系统服务 | Allows an application to retrieve state dump information from system services. |
EXPAND_STATUS_BAR | 允许程序扩展或折叠状态栏 | Allows an application to expand or collapse the status bar. |
FACTORY_TEST | 作为一个工厂测试程序,运行在root用户 | Run as a manufacturer test application, running as the root user. |
FLASHLIGHT | 允许访问闪光灯 | Allows access to the flashlight |
FORCE_BACK | 允许程序强行一个返回程序无论什么在顶层活动 | Allows an application to force a BACK operation on whatever is the top activity. |
GET_ACCOUNTS | 允许账户服务中访问账户列表 | Allows access to the list of accounts in the Accounts Service |
GET_PACKAGE_SIZE | 允许一个程序获取任何package占用空间容量 | Allows an application to find out the space used by any package. |
GET_TASKS | 允许一个程序获取信息有关当前或最近运行的任务,一个缩略的任务状态,是否活动等等 | Allows an application to get information about the currently or recently running tasks: a thumbnail representation of the tasks, what activities are running in it, etc. |
GLOBAL_SEARCH | 许可可能被用在内容提供商上,为了允许全局搜索系统访问他们数据 | This permission can be used on content providers to allow the global search system to access their data. |
HARDWARE_TEST | 允许访问硬件设备 | Allows access to hardware peripherals. |
INJECT_EVENTS | 允许一个程序截获用户事件如按键、触摸、轨迹球等变成事件流并发送他们到任何窗口。 | Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window. |
INSTALL_LOCATION_PROVIDER | 允许程序安装一个位置提供商到位置管理处。 | Allows an application to install a location provider into the Location Manager |
INSTALL_PACKAGES | 允许一个程序安装包 | Allows an application to install packages. |
INTERNAL_SYSTEM_WINDOW | 允许打开窗口使用系统用户界面 | Allows an application to open windows that are for use by parts of the system user interface. |
INTERNET | 允许程序打开网络套接字 | Allows applications to open network sockets. |
MANAGE_APP_TOKENS | 允许程序管理(创建、撤消、z-order默认向z轴推移)程序引用在窗口管理器中 | Allows an application to manage (create, destroy, Z-order) application tokens in the window manager. |
MASTER_CLEAR | 目前还没有明确的解释,Android开发网分析可能是清除一切数据,类似硬格机 |
|
MODIFY_AUDIO_SETTINGS | 允许程序修改全局音频设置 | Allows an application to modify global audio settings |
MODIFY_PHONE_STATE | 允许修改话机状态,如电源,人机接口等 | Allows modification of the telephony state - power on, mmi, etc. |
MOUNT_FORMAT_FILESYSTEMS | 允许格式化文字系统可移动存储。 | Allows formatting file systems for removable storage. |
MOUNT_UNMOUNT_FILESYSTEMS | 允许挂载和反挂载文件系统可移动存储 | Allows mounting and unmounting file systems for removable storage. |
PERSISTENT_ACTIVITY | 允许一个程序设置他的activities显示 | Allow an application to make its activities persistent. |
PROCESS_OUTGOING_CALLS | 允许程序监视、修改有关播出电话 | Allows an application to monitor, modify, or abort outgoing calls. |
READ_CALENDAR | 允许程序读取用户日历数据 | Allows an application to read the user's calendar data. |
READ_CONTACTS | 允许程序读取用户联系人数据 | Allows an application to read the user's contacts data. |
READ_FRAME_BUFFER | 允许程序屏幕波或和更多常规的访问帧缓冲数据 | Allows an application to take screen shots and more generally get access to the frame buffer data |
READ_HISTORY_BOOKMARKS | 允许程序读取(但不能写入)用户浏览器的历史记录和收藏夹。 | Allows an application to read (but not write) the user's browsing history and bookmarks. |
READ_INPUT_STATE | 允许程序恢复按键的当前状态。 | Allows an<span style="mso-spa |