2013-06-28 56 views
10

從android文檔中,明確指出 使用「permission-group」我們可以創建一個權限組。 使用android清單文件中的「permission」元素,我們可以定義一個權限。 此權限可以添加到權限組。android中<permission-group>的用法是什麼?

如果我們將此權限組命名爲「com.example.permission-group」 我們可以在另一個使用「uses-permission」的應用程序中使用它嗎? 如果我們可以使用,我們是否可以訪問這個組的所有權限。

如果上述情況是錯誤的,那麼怎樣才能充分利用「權限組」的

+0

權限組擁有很好的權限列表......但是這個組可能有一些用處。究竟是什麼。僅用於存儲權限? – Shree

回答

4

permission-group標籤允許您創建自定義權限的group

聲明相關權限的邏輯分組的名稱。個人權限通過permission元素的permissionGroup屬性加入組。

它基本上允許你有序地組織你的權限。

和權限組定義了一組權限(二者 那些在清單與許可聲明的元素和其他地方聲明那些 )的標籤。它僅影響向用戶呈現的權限分組 。 permission-group元素不包含 指定哪些權限屬於該組;它只是給組 一個名字。

<manifest . . . > 

<permission-group android:description="string resource" 
       android:icon="drawable resource" 
       android:label="string resource" 
       android:name="SomeGroup" /> 

<permission android:description="string resource" 
     android:icon="drawable resource" 
     android:label="string resource" 
     android:name="SomePermission" 
     android:permissionGroup="SomeGroup" 
     android:protectionLevel=["normal" | "dangerous" | 
           "signature" | "signatureOrSystem"] /> 

    <uses-permission android:name="SomePermission" /> 
    . . . 
    <application . . .> 
     <activity android:name="com.some.activity" 
        android:permission="SomePermission" 
        . . . > 
      . . . 
     </activity> 
    </application> 
</manifest> 
+0

感謝您的信息,這就是我從android文檔得到的。但是,我們在這裏創建了具有某個名稱的權限組,並擁有一些權限。我的問題是我們是否可以在任何其他應用程序中訪問此權限組,以​​便應用程序可以訪問此權限組的所有權限 – Shree

+2

您可以嘗試創建一個僅包含必要的和''的定義。您可能可以通過庫訪問應用程序中的這些定義。如何創建一個庫:http://developer.android.com/tools/projects/projects-eclipse.html –

13

標籤權限組只是用來組一個或多個許可下的特定類別。從開發者的網站http://developer.android.com/guide/topics/manifest/permission-group-element.html

Declares a name for a logical grouping of related permissions. Individual 
permission join the group through the permissionGroup attribute of the 
<permission> element. Members of a group are presented together in the 
user interface. 

Note that this element does not declare a permission itself, only a category in 
which permissions can be placed. See the <permission> element for element for 
information on declaring permissions and assigning them to groups. 

例如,消息相關的權限,說android.permission.SEND_SMS,RECEIVE_SMS和所有相關的消息下android.permission-group.MESSAGES分組權限有一個共同的圖標。

從android源碼https://github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml

<permission-group android:name="android.permission-group.MESSAGES" 
    android:label="@string/permgrouplab_messages" 
    android:icon="@drawable/perm_group_messages" 
    android:description="@string/permgroupdesc_messages" 
    android:permissionGroupFlags="personalInfo" 
    android:priority="360"/> 

    <!-- Allows an application to monitor incoming SMS messages, to record 
    or perform processing on them. --> 
<permission android:name="android.permission.RECEIVE_SMS" 
    android:permissionGroup="android.permission-group.MESSAGES" 
    android:protectionLevel="dangerous" 
    android:label="@string/permlab_receiveSms" 
    android:description="@string/permdesc_receiveSms" /> 

<!-- Allows an application to send SMS messages. --> 
<permission android:name="android.permission.SEND_SMS" 
    android:permissionGroup="android.permission-group.MESSAGES" 
    android:protectionLevel="dangerous" 
    android:permissionFlags="costsMoney" 
    android:label="@string/permlab_sendSms" 
    android:description="@string/permdesc_sendSms" /> 

這裏的AndroidManifest.xml中,將android.permission-group.MESSAGES categorises下的權限共同的圖標和名稱,這些權限在您的應用程序使用這些權限。

<uses-permission android:name="android.permission.SEND_SMS" /> 
<uses-permission android:name="android.permission.RECEIVE_SMS" /> 

在一個示例應用程序看到的結果。這兩個權限將被分組到一個共同的類別中。

Note the Receive and send sms categorised into a group

成本錢是因爲機器人的:permissionFlags =在SEND_SMS許可 「costsMoney」。因此,權限組僅用於對權限進行分類。它不能用於對一個或多個權限進行分組。