ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android-棉花糖权限模型在Airbnb中的AccountManager getAccounts()异常,该怎么做?

2019-10-27 22:25:10  阅读:265  来源: 互联网

标签:android-appwidget android-permissions android


我在运行棉花糖预览3的Nexus 5设备上安装了Airbnb,并且正在使用权限模型.我在使用他们的应用程序时发现了一个很大的奇怪之处.

通常,如果使用AccountManager getAccounts()方法获取在设备上注册的电子邮件帐户,则需要启用GET_ACCOUNTS权限才能使其正常工作.

但是,即使在我的应用程序中,即使我取消了GET_ACCOUNTS权限,他们仍然可以访问已注册的电子邮件帐户,实际上,这确实很奇怪(他们在电子邮件登录中具有自动完成功能).

这是否违反了具有运行时权限模型的目的?

解决方法:

Airbnb并非针对API 23,因此它们不使用运行时权限(当出现权限列表时,您可以在安装时看到此信息).相反,他们遵循compatibility model,在该位置用户仍可以以不会崩溃的方式禁用对应用程序的权限.

但是,兼容性模式(从Developer Preview 3开始)不允许用户禁用GET_ACCOUNTS的使用.实际上,如果未定位到API 23的开发人员未在CONTACTS组中使用任何其他运行时权限,则Contacts组甚至不会被禁用(即使从技术上讲它将包括GET_ACCOUNTS).

当然,一旦Airbnb移至目标API 23并使用运行时权限,那么如果他们想要检索除自己帐户以外的任何帐户,则他们需要请求联系人权限组使用GET_ACCOUNTS.

标签:android-appwidget,android-permissions,android
来源: https://codeday.me/bug/20191027/1947723.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有