让用户选择在android中授予权限

时间:2012-06-15 12:11:29

标签: java android permissions code-access-security

我们有一个AutoCompleteTextView,它可以从用户 - 联系人数据中读取,以方便使用。但是,有些用户抱怨应用程序在安装时强制执行的“READ_CONTACT”权限。有没有办法让用户选择授予此权限并使用此功能,还是拒绝并放弃该功能?如果在运行时无法实现,可能还有其他方法吗?构建两个应用程序,一个具有该权限,另一个没有,不是一个选项!

2 个答案:

答案 0 :(得分:3)

  

有没有办法让用户选择授予此权限并使用此功能,还是拒绝并放弃该功能?

不幸的是,没有。

  

如果在运行时无法实现,可能还有其他方法吗?构建两个应用程序,一个具有该权限,另一个没有,不是一个选项!

您可以在没有该权限的情况下构建主应用程序,然后创建一个包含权限并与主应用程序安全交互的插件。这是一种先进的技术。我将其覆盖in one of my books,并here is the directory with sample projects演示主机和插件。在我的情况下,我使用的是CallLog而不是ContactsContract,但权限(READ_CONTACTS)是相同的。

答案 1 :(得分:0)

我对此不太确定,但您可以构建一个单独的应用程序,需要此权限。这个额外的应用程序提供内容提供商您的主应用程序现在会检查您的扩展程序是否已安装并从内容提供商处获取该数据。