2013-06-28 7 views
10

Dalla documentazione di Android, è chiaro che Utilizzando "permesso-gruppo" possiamo creare un gruppo di autorizzazioni. Utilizzando l'elemento "permesso" nel file manifest Android, possiamo definire un'autorizzazione. Questa autorizzazione può essere aggiunta al gruppo di autorizzazioni.Qual è l'uso di <permission-group> in Android?

se il nome di questo gruppo di autorizzazioni è "com.example.permission-group" è possibile utilizzarlo in un'altra applicazione utilizzando "uses-permission". Se possiamo usare, se possiamo accedere a tutti i permessi di questo gruppo.

Se il caso di cui sopra è sbagliato, allora come possiamo fare uso di "permission-gruppo"

+0

Il gruppo di autorizzazioni contiene un elenco di permessi che va bene ... Ma potrebbe esserci qualche uso di questo gruppo. che cosa è esattamente. Solo per la memorizzazione delle autorizzazioni? – Shree

risposta

4

Il tag permission-group consente di creare un group di autorizzazioni personalizzate.

Dichiara un nome per un raggruppamento logico di autorizzazioni correlate. L'autorizzazione individuale si unisce al gruppo tramite l'attributo permissionGroup dell'elemento permesso.

Fondamentalmente consente di organizzare le autorizzazioni in modo ordinato.

e il permesso-gruppo definisce un'etichetta per una serie di autorizzazioni (sia quelli dichiarati nel manifesto con gli elementi di autorizzazione e di quelli dichiarati altrove). Riguarda solo il modo in cui le autorizzazioni sono raggruppate quando presentate all'utente. L'elemento del gruppo di autorizzazioni non specifica quali autorizzazioni appartengono al gruppo; semplicemente dà al gruppo un nome.

<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

Grazie per le informazioni, ecco cosa ho ottenuto da Android doc. Ma qui abbiamo creato il gruppo di autorizzazioni con un nome e detiene alcune autorizzazioni. La mia domanda è se possiamo accedere a questo gruppo di autorizzazioni in qualsiasi altra applicazione, in modo che l'applicazione possa accedere a tutte le autorizzazioni di questo gruppo di autorizzazioni – Shree

+2

Si potrebbe provare a creare una libreria Android che non contenga nient'altro che un file manifest contenente il necessario gruppo> 'e' 'definizioni. Potresti essere in grado di accedere a tali definizioni dalla tua applicazione attraverso la libreria. Come creare una libreria: http://developer.android.com/tools/projects/projects-eclipse.html –

13

Il tag permission-gruppo è solo utilizzato per raggruppare una o più autorizzazioni in una determinata categoria. Dal sito dello sviluppatore 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. 

Per esempio, i permessi i messaggi relativi, per esempio, android.permission.SEND_SMS RECEIVE_SMS e tutte le autorizzazioni relative ai messaggi sono raggruppati sotto android.permission-group.MESSAGES di avere un'icona comune .

Da AndroidManifest.xml di source 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" /> 

Qui, l'android.permission-group.MESSAGES categorizza queste autorizzazioni sotto l'icona di un comune e nome nel autorizzazioni quando le applicazioni utilizza queste autorizzazioni.

Dare

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

in un'applicazione di esempio per vedere il risultato. Queste due autorizzazioni saranno raggruppate in una categoria comune.

Note the Receive and send sms categorised into a group

Il denaro costi è a causa del android: permissionFlags = "costsMoney" di autorizzazione Send_SMS. Quindi, il gruppo di autorizzazioni viene utilizzato solo per classificare le autorizzazioni. Non può essere utilizzato come per raggruppare una o più autorizzazioni.

Problemi correlati