一个基本的Android应用程序没有与其相关联的权限,意味着它不能做任何影响用户体验或设备中的数据的有害操作。
要利用这个设备的保护特性,在你的应用程序需要时,你必须在AndroidManifest.xml
文件中
包含一个或更多的<uses-permission>
标签来声明此权限。
例如:需要监听来自SMS消息的应用程序将要指定如下内容:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE_SMS" /> </manifest>
在安装应用程序时,通过包安装器应用程序要通过权限请求的许可,使建立在与应用程序 签名的核对下声明对于用户的那些权限和影响。在应用运行期间对用户不做检查:它要么在安 装时被授予特定的许可,并且使用想用的特性;要么不被授予许可,并且使得一切使用特性的 尝试失败而不提示用户。
例如,sendBroadcast(Intent) 方法就是当数据被发送给到每个接收器时检查许可的,在方法调用返回之后,因此当许可失败时你不会收到一个异常。 然而,几乎在所有例子中,许可失败都会被打印到系统日志中。通常,多次的许可错误会产生抛回至应用程序的SecurityException异常。
Android系统提供的许可可以在Manifest.permission中找到。每个引 用也可以定义和Enforce它自己的许可,因此这不是全面的所有可能的列表。
在程序操作期间,个别权限在一些地方可能被强制: