android 权限模型,android-棉花糖权限模型在Airbnb中的AccountManager getAccounts()异常,该怎么做?...
我在运行棉花糖预览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
android 权限模型,android-棉花糖权限模型在Airbnb中的AccountManager getAccounts()异常,该怎么做?...相关推荐
- android棉花糖,Android-6.0 棉花糖权限的那点事
Android6.0引入了全新的权限管理方式,也就是运行时权限,至于什么是运行时权限,我们先看一下6.0以前的权限处理. 6.0以前的权限 6.0以前的系统,我们在安装一个应用的时候会默认赋予所有权限 ...
- 谈谈Android 6.0运行时权限理解
前言 谷歌在2015年8月份时候,发布了Android 6.0版本,代号叫做"棉花糖"(Marshmallow ),其中的很大的一部分变化,是在用户权限授权上,或许是感觉之前默认授 ...
- Android教程 -05 Android6.0权限的管理
视频为本篇博客知识的讲解,建议采用超清模式观看, 欢迎点击订阅我的优酷 height="498" width="510" src="http://pl ...
- Android开发精要2--Android组件模型解析
本文的主要内容如下: 2.1 基于Mashup的应用设计 2.2 界面组件Activity解析 2.3 服务组件Service解析 2.4 触发器组件BroadcastReceiver解析 2.5 数 ...
- 通过MACE在Android手机上部署深度学习模型
1. MACE的环境搭建 参考我的博客:MACE的环境搭建--conda实现 2. 构建项目 (1)下载MACE项目到本地 git clone https://github.com/XiaoMi/ma ...
- Android 基础知识+app测试权限问题
Android 基础知识(权限篇)** 前言 Android是一个开源的,基于Linux的移动设备操作系统,主要用于移动设备,如智能手机和平板电脑.Android是由谷歌及其他公司带领的开放手机联 ...
- 蓝牙权限管理android,基于蓝牙与Android设备的控制系统设计
3 Android设备软件设计本文引用地址:http://www.eepw.com.cn/article/264461.htm Android2.2版本以上才能很好的支持蓝牙功能,Android上的应 ...
- AndroidQ(九)Android Q隐私权:权限变更
Android Q隐私权:权限变更 本文档介绍了权限模型的一些变更.这些变更有助于增强用户隐私. 其中一些变更会影响在Android Q上运行的所有应用,而其他变更仅会影响以Android Q为目标平 ...
- Android 在运行时请求权限
2019独角兽企业重金招聘Python工程师标准>>> 从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予.此方法可以简化 ...
最新文章
- MAC修改python和pip版本
- erlang四种启动监控策略
- Python单元测试框架Pyunit 的使用
- linux shell 学习小结
- 《Docker——容器与容器云》:第五章 构建自己的容器云
- leetcode309. 最佳买卖股票时机含冷冻期
- glup node 内存不够_Redis:内存被我用完了!该怎么办?
- Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安装部署体验
- 如何在通达信软件上随意画图_通达信指标公式编写教程:绘图函数DRAWLINE、DRAWTEXT 等...
- go语言和区块链实战从基础到项目 go开发工程师教程视频 go区块链视频教程合集
- Modbus-RTU入门篇
- 基于vue的手机阅读小说类webapp
- 数据导入与预处理-第8章-实战演练-数据分析师岗位分析
- 单体架构与微服务架构的区别
- 计算机学院开学发言,开学典礼 | 计控学院研究生代表发言稿
- 招银网络2018笔试分享
- 酷我音乐盒去广告(续)
- 【翻译】CEDEC2014[跨越我的尸体2]跨越Stylized Rendering
- 破解SQLYog30天试用方法
- 奥哲网络张华:蛰伏十五年的低代码平台或成未来主流