Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们有一个 AutoCompleteTextView 可以方便地从用户联系数据中读取。然而,一些用户抱怨应用程序在安装时强制执行的“READ_CONTACT”权限。有没有办法让用户选择授予此权限并使用此功能,或者拒绝它并放弃该功能?如果在运行时不可能,也许还有其他方法?构建两个应用程序,一个具有该权限而一个没有该权限不是一种选择!
有没有办法让用户选择授予此权限并使用此功能,或者拒绝它并放弃该功能?
抱歉不行。
如果在运行时不可能,也许还有其他方法?构建两个应用程序,一个具有该权限而一个没有该权限不是一种选择!
您可以在没有该权限的情况下构建主应用程序,然后创建一个拥有该权限并与主应用程序安全交互的插件。这是一个有点先进的技术。我在我的一本书中介绍了它,这里是包含演示主机和插件的示例项目的目录。就我而言,我使用的是CallLog代替ContactsContract,尽管权限 ( READ_CONTACTS) 是相同的。
CallLog
ContactsContract
READ_CONTACTS
我对此不太确定,但您可以构建一个需要此权限的单独应用程序。这个额外的应用程序提供了一个内容提供者。您的主应用程序现在检查您的扩展应用程序是否已安装并从内容提供者那里获取该数据。