码迷,mamicode.com
首页 > 移动开发 > 详细

App Manifest

时间:2015-09-23 12:08:25      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

地址: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对象


App Manifest

标签:

原文地址:http://my.oschina.net/u/134491/blog/509938

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!