创建自己的权限

时间:2010-12-13 05:04:20

标签: android

是否可以使用。创建自己的权限 <uses-permission>代码?

喜欢这个

<uses-permission android:name="com.android.myapp.INSTALL_LICENSE"></uses-permission>

com.android.myapp是我的包的名称,而INSTALL_LICENSE是用户必须接受的权限

此外,我想将大量现有权限发布到这一权限中,因此客户端只需要声明一个权限,就可以获得INTERNET,PHONE_STATE和其他权限。

3 个答案:

答案 0 :(得分:5)

“此外,我想将大量现有权限发布到这一权限中。”

嗯,不。这将故意引入安全漏洞,允许其他应用程序绕过实际权限。我希望这会导致应用程序从市场撤出,如果找到的话。

如果某个应用程序正在访问INTERNET,PHONE_STATE或其他任何内容,则需要声明他们正在使用的与该功能直接相关的真实权限。

是什直接将其暴露给应用程序。

换句话说,这是可以的:声明DO_SOMETHING的权限,允许应用程序说你发送广播,你会做什么,并返回一个“true”或“false”结果,表明它是否成功。

这不合适:声明DO_SOMETHING的权限,该权限公开允许应用程序检索手机状态的API,或者发送他们从设备提供的一些数据,或检索GPS信息。

要在您的应用中声明权限,请使用文档中描述的标记。

然而,您真正需要注意的事项是:目前,如果在您的应用之前安装了应用并请求您的许可,则不会授予该权限。 (因为在安装权限时未知该权限。)为了获得权限,需要在安装应用程序后重新安装或更新权限。

答案 1 :(得分:5)

是的,您可以声明自己的权限,如果其他应用想要使用您的应用,则应该声明您的许可。

例如,您在清单中声明以下内容:

<permission
    android:name="com.examples.permissionexample.MY_APP"
    android:description="@string/boom_perm_string"
    android:label="@string/boom_permission_label_string">
</permission>

然后,在另一个应用中,访问您的应用的权限将是:

<uses-permission android:name="com.examples.permissionexample.MY_APP" />

答案 2 :(得分:2)

不确定“使用标记”的含义,但您可以创建新的权限,以指定其他应用程序如何与您提供的活动和服务进行交互。

请参阅:

中的“声明和强制执行权限”

http://developer.android.com/guide/topics/security/security.html