无法直接启动定义和执行自定义权限的应用程序

时间:2014-10-19 23:20:14

标签: android android-permissions

我最近开始学习Android开发。

我制作了两个应用: PermissionsApp DangerousApp 。 后者(DangerousApp)在清单文件中定义了自己的权限,如下所示:

<permission
    android:name="course.labs.permissions.DANGEROUS_ACTIVITY_PERM"
    android:protectionLevel="dangerous"
    android:label="Dangerous Activity" />

它还会在活动代码中自行执行此权限:

<application
    android:permission="course.labs.permissions.DANGEROUS_ACTIVITY_PERM"
    ...>

前者(PermissionsApp)在其自己的清单文件中使用它,如下所示:

<uses-permission android:name="course.labs.permissions.DANGEROUS_ACTIVITY_PERM"/>

PermissionsApp 因此能够从内部启动 DangerousApp 。但是,我无法从应用程序列表(启动器?)直接启动 DangerousApp 。 LogCat显示抛出了一个安全异常,其中启动器没有权限。

有关为何会出现这种情况的任何解释?

1 个答案:

答案 0 :(得分:3)

  

但是,我无法从应用程序列表(启动器?)直接启动DangerousApp。

正确。

  

有关为何会出现这种情况的任何解释?

主屏幕没有<uses-permission>的{​​{1}}元素。您已声明应用程序中的每个组件都受该权限的保护,其中包括您的启动器活动。