发射器活动许可。应用程序未安装错误

时间:2015-08-03 19:50:30

标签: android android-permissions android-launcher

我正在开发一个也可以从其他应用启动的应用。让我们称他们为“Called app”和“Calling app”。我正在使用protectionLevel“signature”为“被叫应用程序”的启动器活动添加权限。但是,当我添加此权限时,我无法从应用程序图标启动“被叫应用程序”。它说“未安装应用程序”。我也试过保护级别“危险”。它给出了同样的错误。

我想这个问题可能是因为我已经为启动器活动提供了自定义权限,系统也不知道它。删除权限后,我可以启动该应用。我的问题是:未经许可离开发射器活动是否安全?或者有没有其他方法来保护启动器活动,以便我可以正常从应用程序图标和“调用应用程序”启动“被叫应用程序”?

感谢。

1 个答案:

答案 0 :(得分:2)

  

我想这个问题可能是因为我已经为启动器活动提供了自定义权限,系统也不知道它。

不是“系统” - 主屏幕。 Android上有成千上万的主屏幕实现,包括预安装和Play Store等分销渠道。他们都没有<uses-permission>元素用于您的自定义权限,因此他们都无法启动您通过该权限进行辩护的活动。

  

未经许可离开发射器活动是否安全?

我们怎么知道?你充其量是唯一知道这项活动的人。您的问题类似于询问“我的Web服务器是否安全拥有公共主页?”。

  

或者是否有其他方法来保护启动器活动,以便我可以从应用程序图标和“调用应用程序”正常启动“被叫应用程序”?

您的活动可以通过以下方式启动:

  • 任何内容(包括主屏幕),<intent-filter>android:permission属性,

  • 仅限您撰写的某个包含自定义权限的应用,具有<intent-filter>属性android:permission

  • 仅限同一应用中的其他活动,没有<intent-filter>

这是你的三个选择。没有人可以告诉你这三种选择中哪一种适合这项活动。

但是,您需要了解威胁和风险,然后决定如何防范这些威胁,而不是随机输入与安全相关的内容,并假设您正在做一些有用的事情。在这种情况下,如果您特别希望主屏幕能够启动此活动,那么您从其他应用程序能够启动此活动的具体风险是什么?