如何在Android系统上添加自己的自定义权限?

时间:2019-08-02 04:53:57

标签: android android-permissions

如何在Android系统上添加自己的自定义权限? 如何在单个应用程序中申请自定义权限? 这是我的许可声明

 <permission android:name="com.testpackage.mypermission" 
    android:label="my_permission" android:protectionLevel="signature"></permission>

然后我致电

    <uses-permission android:name="com.testpackage.mypermission" />

我可以在单个清单中声明和使用吗?

2 个答案:

答案 0 :(得分:0)

来自Official Documentation: 要实施自己的权限,必须首先使用一个或多个元素在AndroidManifest.xml中声明它们。

例如,想要控制谁可以启动其活动之一的应用可以声明此操作的权限,如下所示:

  xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.myapp" >

    <permission
      android:name="com.example.myapp.permission.DEADLY_ACTIVITY"
      android:label="@string/permlab_deadlyActivity"
      android:description="@string/permdesc_deadlyActivity"
      android:permissionGroup="android.permission-group.COST_MONEY"
      android:protectionLevel="dangerous" />
    ...
</manifest>

答案 1 :(得分:0)

应用程序可以定义自己的自定义权限,并可以通过定义元素来向其他应用程序请求自定义权限。但是,您应该仔细评估您的应用是否需要这样做。

  1. 如果您要设计一套将功能相互公开的应用程序,请尝试设计这些应用程序,以便每个权限仅定义一次。如果应用程序未全部使用同一证书签名,则必须执行此操作。即使所有应用程序都使用相同的证书签名,最好的做法是只定义一次权限。
  2. 如果该功能仅适用于使用与提供的应用程序相同的签名进行签名的应用程序,则可以避免使用签名检查来定义自定义权限。当您的一个应用程序向另一个应用程序发出请求时,第二个应用程序可以在遵循请求之前验证两个应用程序都使用相同的证书签名。 有关更多详细信息,click here