App Manifest

地址:https://developer.android.com/guide/topics/manifest/manifest-intro.html#filestruct html

下面顯示manifest的結構和包含的每個元素,每個元素都有本身的屬性
android

<?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>app

<uses-permission android:name="string"
       
android:maxSdkVersion="integer" />

爲了操做正確必需要請求這個受權權限,當應用安裝完後權限就被授予了,不是在運行的時候。ide

android:maxSdkVersion,可受權的最高版本,這個權限頗有用,好比你從某一個版本開始再也不須要這個權限ui

<permission>spa

<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"] />

申明一個權限,用於限制訪問指定的組件或功能或其餘應用。
code

android:permissionGroup,這個屬性值是組的名稱,這個名稱必須在<permission-group>中申明或是其餘的應用中聲明,若是沒有設置,就不會歸類到一個組下。orm

android:protectionLevel,xml

                normal,默認值,低風險權限,系統會自動受權這個類型的權限給請求的已安裝應用,而不須要顯示要求用戶受權htm

                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對象

相關文章
相關標籤/搜索