11.6.1. 在 Manifest 文件中定义权限

优质
小牛编辑
130浏览
2023-12-01

11.6.1.在 Manifest 文件中定义权限

首先是给出权限的定义。解释它们是什么、如何使用、处于何种保护级别。

例 11.11. 在Manifest文件中定义权限

<manifest>

...

<permission android:name="com.marakana.yamba.SEND_TIMELINE_NOTIFICATIONS" <!-- -->

android:label="@string/send_timeline_notifications_permission_label" <!-- -->

android:description="@string/send_timeline_notifications_permission_description" <!-- -->

android:permissionGroup="android.permission-group.PERSONAL_INFO" <!-- -->

android:protectionLevel="normal" /> <!-- -->

<!-- -->

<permission android:name="com.marakana.yamba.RECEIVE_TIMELINE_NOTIFICATIONS"

android:label="@string/receive_timeline_notifications_permission_label"

android:description="@string/receive_timeline_notifications_permission_description"

android:permissionGroup="android.permission-group.PERSONAL_INFO"

android:protectionLevel="normal" />

<!-- -->

<uses-permission android:name="com.marakana.yamba.SEND_TIMELINE_NOTIFICATIONS" />

<uses-permission android:name="com.marakana.yamba.RECEIVE_TIMELINE_NOTIFICATIONS" />

</manifest>

  1. 权限的名字,作为引用权限的标识符。在这里,我们通过它来保护Timeline更新事件的广播。
  2. 权限的标签(Label)。它会在安装应用程序的授权步骤显示给用户,作为一个人类可读的权限名称,其内容应尽量做到言简意赅。留意,我们将它的值定义在了string.xml文件中。
  3. 关于这项权限的描述,用以简介权限的含义与作用。
  4. 权限组。此项可选,但很有用。通过它,可以将我们的权限归类到系统定义的权限组。也可以定义自己的权限组,但不常见。
  5. 权限的安全等级,表示这项权限的危险程度,等级越高越危险。其中'normal'表示最低的安全等级。
  6. 定义另一项权限,用于保护Timeline更新事件的接收。步骤与上相同。
  7. 给出了这些定义之后,我们仍需为应用程序申请这些权限。这里就同申请系统权限一样了,通过<uses-permissions>标签。

到这里,我们添加了两项自定义的权限,也为应用程序申请了对这两项权限。接下来,我们需要保证广播的发布者与订阅者分别能够符合自己的权限。