标签:
地址:https://developer.android.com/guide/topics/manifest/manifest-intro.html#filestruct
下面显示manifest的结构和包含的每一个元素,每一个元素都有自己的属性
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<uses-permission />
<permission />
<permission-tree />
<permission-group />
<instrumentation />
<uses-sdk />
<uses-configuration />
<uses-feature />
<supports-screens />
<compatible-screens />
<supports-gl-texture />
<application>
<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>
<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>
<service>
<intent-filter> . . . </intent-filter>
<meta-data/>
</service>
<receiver>
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>
<provider>
<grant-uri-permission />
<meta-data />
<path-permission />
</provider>
<uses-library />
</application>
</manifest>
<users-permission>
<uses-permission android:name="string"
android:maxSdkVersion="integer" />
为了操作正确必须要请求这个授权权限,当应用安装完后权限就被授予了,不是在运行的时候。
android:maxSdkVersion,可授权的最高版本,这个权限很有用,比如你从某一个版本开始不再需要这个权限
<permission>
<permission android:description="string resource"
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permissionGroup="string"
android:protectionLevel=["normal" | "dangerous" |
"signature" | "signatureOrSystem"] />
申明一个权限,用于限制访问指定的组件或功能或其他应用。
android:permissionGroup,这个属性值是组的名称,这个名称必须在<permission-group>中申明或是其他的应用中声明,如果没有设置,就不会归类到一个组下。
android:protectionLevel,
normal,默认值,低风险权限,系统会自动授权这个类型的权限给请求的已安装应用,而不需要显示要求用户授权
dangerous,高风险权限,因为这类型的权限有潜在风险,系统不会自动授予这类权限,必须显示要求用户确认
signature,系统只会授予有相同签名的应用,如果签名匹配,系统会自动授予权限
signatureOrSystem,只有有系统权限或是有同样签名的应用才会授予权限,
<permisson-tree>
<permission-tree android:icon="drawable resource"
android:label="string resource" ]
android:name="string" />
声明了一个权限树的名称,应用能获取树下所有的名称,也能动态添加新的权限。这个元素自己不申明权限,只是一个放置权限的地方
如果基础名字是com.example.project.taxes,添加的权限如下
com.example.project.taxes.CALCULATE
com.example.project.taxes.deductions.MAKE_SOME_UP
com.example.project.taxes.deductions.EXAGGERATE
<permisson-group>
<permission-group android:description="string resource"
android:icon="drawable resource"
android:label="string resource"
android:name="string" />
相关权限逻辑上的群组,这个元素不申明权限,只是权限的一个类型
<meta-data>
<meta-data android:name="string"
android:resource="resource specification"
android:value="string" />
可以用在<activity>\<activity-alias>\<application>\<provider>\<service>
定义了一个name-value的键值对,一个组件下面可以包含任意多个<meta-data>子元素,他们会同意收集到Bundle对象中,就像PackageItemInfo.metaData对象
标签:
原文地址:http://my.oschina.net/u/134491/blog/509938