2013-06-28 40 views
10

Từ tài liệu android, rõ ràng là Sử dụng "nhóm quyền", chúng tôi có thể tạo nhóm quyền. Sử dụng phần tử "permission" trong tệp kê khai android, chúng tôi có thể xác định quyền. Quyền này có thể được thêm vào nhóm quyền.Việc sử dụng <permission-group> trong android là gì?

nếu chúng tôi đặt tên nhóm quyền này là "com.example.permission-group" , chúng tôi có thể sử dụng nhóm này trong một ứng dụng khác bằng cách sử dụng "quyền sử dụng" hay không. Nếu chúng ta có thể sử dụng, liệu chúng ta có thể truy cập tất cả các quyền của nhóm này hay không.

Nếu trường hợp trên là sai, thì làm sao chúng ta có thể tận dụng "phép nhóm"

+0

Nhóm quyền giữ danh sách các quyền là tốt ... Nhưng có thể có một số sử dụng của nhóm này. chính xác nó là gì. Chỉ để lưu trữ quyền? – Shree

Trả lời

4

Thẻ permission-group cho phép bạn tạo một group của quyền tùy chỉnh.

Khai báo tên cho nhóm hợp lý các quyền liên quan. Cho phép cá nhân tham gia nhóm thông qua thuộc tính permissionGroup của phần tử permission.

Về cơ bản, nó cho phép bạn tổ chức các quyền của mình một cách có trật tự.

Và phép nhóm định nghĩa một nhãn cho một tập các điều khoản (cả những tuyên bố trong biểu hiện với các yếu tố cho phép và những tuyên bố ở những nơi khác). Nó chỉ ảnh hưởng đến cách các quyền được nhóm khi được trình bày cho người dùng. Phần tử nhóm quyền không chỉ định quyền nào thuộc về nhóm; nó chỉ cung cấp cho nhóm một tên.

<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

Cảm ơn thông tin, Thats những gì tôi đã nhận nó từ android doc. Nhưng ở đây chúng tôi đã tạo nhóm quyền với một số tên và nó giữ một số quyền. Câu hỏi của tôi là liệu chúng ta có thể truy cập nhóm quyền này trong bất kỳ ứng dụng nào khác, để ứng dụng có thể truy cập tất cả các quyền của nhóm quyền này – Shree

+2

Bạn có thể thử tạo Thư viện Android không chứa gì ngoài tệp kê khai có chứa quyền ' 'và' 'định nghĩa. Bạn có thể truy cập các định nghĩa đó từ ứng dụng của mình thông qua thư viện. Cách tạo thư viện: http://developer.android.com/tools/projects/projects-eclipse.html –

13

Thẻ phép nhóm chỉ được sử dụng để nhóm một hoặc nhiều điều khoản dưới một thể loại cụ thể. Từ trang web của nhà phát triển 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. 

Ví dụ, cho phép các thông điệp liên quan, nói android.permission.SEND_SMS, RECEIVE_SMS và tất cả các điều khoản liên quan đến thông điệp được nhóm dưới android.permission-group.MESSAGES để có một biểu tượng chung .

Từ AndroidManifest.xml của nguồn 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" /> 

Ở đây, android.permission-group.MESSAGES phân loại các các điều khoản dưới một biểu tượng phổ biến và tên trong quyền khi ứng dụng của bạn sử dụng những điều khoản.

Cho

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

trong một ứng dụng mẫu để xem kết quả. Hai quyền đó sẽ được nhóm thành một danh mục chung.

Note the Receive and send sms categorised into a group

Chi phí tiền là vì android: permissionFlags = "costsMoney" trong phép SEND_SMS. Do đó nhóm quyền chỉ được sử dụng để phân loại các quyền. Nó không thể được sử dụng như trong nhóm một hoặc nhiều quyền.

Các vấn đề liên quan