2010-11-19 115 views
5

我试图向我的应用程序清单添加权限,以便它可以访问用户在运行时安装的其他应用程序。我认为这样做的方式是在清单中定义一个权限树,然后使用PackageManager.addPermission()在该树下添加权限。但是,我无法得到这个工作,我发现的文档并不确定。任何人都可以通过一个简单的例子告诉我如何做到这一点?谢谢!以编程方式向应用程序清单添加权限

+0

阅读完答案后,我会进一步解释我正在尝试做什么。这个想法是,我的应用程序与一些附加组件类似。正如所知,所有这些附加组件都是应用程序已知的(因此没有权限问题),但用户应该能够通过特殊活动安装新的附加组件:我看到了可用应用程序列表,我选择了一个,然后选择一个它被安装。那么,这个新的插件应该出现在我的主应用程序的菜单中,并且应该可以与它进行交互。我已经看过类似的东西,但我知道这是一个复杂的主题。 – androidtje 2010-11-19 14:07:15

回答

1

您不能仅将其他应用程序访问到您的应用程序以及与您的应用程序的用户ID一起运行的应用程序。

+0

嗯,真的不知道你的意思,但可以访问其他应用程序的组件 - 即使它们具有不同的ID。这一切都在Android安全框架中解释。 – androidtje 2010-11-19 14:20:48

+0

@androidtje:你不能在你自己的应用程序之外改变任何东西。请向我指出描述相反的文档部分。 – 2010-11-19 16:32:23

+0

这个想法不是改变我的应用程序之外的任何东西。我只想授予我的应用程序与第三方应用程序进行交互的必要权限,如果后者提供了这种可能性。 – androidtje 2010-11-19 16:35:54

1

不可能在非根设备中。涉及的安全问题。

+0

是的,我知道一个有根的设备会使它成为可能。但签名权限呢?我认为Android的安全框架允许定义合适的环境,以便只有那些您想要的应用才能访问您的应用。 – androidtje 2010-11-19 14:18:24

0

我不认为这是可能的。我认为(并且被讲师认为,也可能是错误的)所有权限都必须在代码编译时添加。如果您之后可以添加权限,是否允许应用在未经我许可的情况下访问我的所有信息?在下载应用程序时,在确认屏幕中也没有任何意义,因为它警告您的权限可能并非全部都将被使用。

在我看来,我不认为这应该是可能的。它太容易被滥用。我也不认为这是可能的,我想你会很难找到它的任何信息。

1

由于安全原因,只有固定设备是电缆。

相关问题