Android 11 中的权限更新
官网:https://developer.android.com/about/versions/11/privacy/permissions#audit-by-feature
Android 11 使用户能够为位置、麦克风和摄像头指定更精细的权限。此外,系统会重置针对 Android 11 或更高版本的未使用应用程序的权限,如果应用程序使用系统警报窗口或读取与电话号码相关的信息,则可能需要更新它们声明的权限。
一次性权限
从 Android 11 开始,每当您的应用请求与位置、麦克风或摄像头相关的权限时,面向用户的权限对话框都会包含一个名为Only this time的选项。如果用户在对话框中选择此选项,您的应用将被授予临时的一次性权限。
详细了解系统如何处理一次性权限。
注意:如果您的应用在请求运行时权限时已经遵循了最佳实践,则无需更改您的应用以支持一次性权限。
自动重置未使用应用程序的权限
如果您的应用以 Android 11 或更高版本为目标平台并且几个月未使用,系统会通过自动重置用户授予您的应用的敏感运行时权限来保护用户数据。此操作与用户查看系统设置中的权限并将您的应用程序的访问级别更改为Deny具有相同的效果。如果您的应用程序遵循 在运行时请求权限的最佳做法,则您不需要对您的应用程序进行任何更改。这是因为,当用户与应用程序中的功能交互时,您应该验证这些功能是否具有他们需要的权限。
注意:系统仅重置运行时权限,即在请求时向用户显示运行时提示的权限。
详细了解系统如何自动重置未使用应用的权限。
权限对话框可见性
从 Android 11 开始,如果用户在您的应用在设备上的安装生命周期内多次点击拒绝特定权限,则当您的应用再次请求该权限时,用户不会看到系统权限对话框。用户的动作暗示“不要再问了”。在以前的版本中,每次您的应用程序请求权限时,用户都会看到系统权限对话框,除非用户之前选择了“不再询问”复选框或选项。Android 11 中的这种行为变化不鼓励重复请求用户选择拒绝的权限。
注意:如果您的应用已遵循与权限相关的最佳实践,则无需更改您的应用即可支持此行为更改。
详细了解如何处理应用程序中的权限拒绝。
系统警报窗口更改
Android 11 对应用授予权限的方式进行了多项更改 SYSTEM_ALERT_WINDOW 。这些更改旨在通过更有意识地授予权限来保护用户。
某些应用会根据请求自动授予 SYSTEM _ ALERT _ WINDOW 权限
某些类别的应用程序会根据请求自动授予权限SYSTEM_ALERT_WINDOW :
任何具有 ROLE_CALL_SCREENING 和请求的应用程序SYSTEM_ALERT_WINDOW都会自动授予权限。如果应用程序丢失ROLE_CALL_SCREENING,它将失去权限。
MediaProjection 任何通过 a和请求捕获屏幕的应用程序 SYSTEM_ALERT_WINDOW都会自动授予该权限,除非用户明确拒绝该应用程序的权限。当应用程序停止捕获屏幕时,它会失去权限。此用例主要用于游戏直播应用。
这些应用无需发送 ACTION_MANAGE_OVERLAY_PERMISSION 即可获得SYSTEM_ALERT_WINDOW权限;应用程序可以 SYSTEM_ALERT_WINDOW直接请求。
MANAGE _ OVERLAY _ PERMISSION 意图总是将用户带到系统权限屏幕
从 Android 11 开始, ACTION_MANAGE_OVERLAY_PERMISSION intents 始终将用户带到顶级设置屏幕,用户可以在其中授予或撤销 SYSTEM_ALERT_WINDOW 应用程序的权限。package:意图中的任何数据都将被忽略。
在早期版本的 Android 中,ACTION_MANAGE_OVERLAY_PERMISSION意图可以指定一个包,它将用户带到特定于应用程序的屏幕以管理权限。Android 11 不支持此功能。相反,用户必须首先选择他们希望授予或撤销权限的应用。此更改旨在通过更有意识地授予权限来保护用户。
电话号码
Android 11 更改了您的应用在读取电话号码时使用的与电话相关的权限。
如果您的应用面向Android 11或更高版本并且需要访问以下列表中显示的电话号码API,则必须请求权限 READ_PHONE_NUMBERS ,而不是READ_PHONE_STATE权限。
类和 类getLine1Number()中的 方法 。TelephonyManagerTelecomManager
getMsisdn()类中 不受支持的方法TelephonyManager 。
如果您的应用声明READ_PHONE_STATE调用的方法不是上一个列表中的方法,您可以继续READ_PHONE_STATE跨所有 Android 版本请求。但是,如果您READ_PHONE_STATE仅对前面列表中的方法使用权限,请按如下方式更新您的清单文件:
更改您的声明,READ_PHONE_STATE以便您的应用仅在 Android 10(API 级别 29)及更低版本上使用该权限。
添加READ_PHONE_NUMBERS权限。
以下清单声明片段演示了此过程:
<manifest><!-- Grants the READ_PHONE_STATE permission only on devices that runAndroid 10 (API level 29) and lower. --><uses-permission android:name="android.permission.READ_PHONE_STATE"android:maxSdkVersion="29" /><uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
</manifest>
额外资源
更多关于Android 11权限变化的信息,请查看以下资料:
影片
使用 Android 11 中的最新隐私更改进行开发
相关文章:
Android 11 中的权限更新
官网:https://developer.android.com/about/versions/11/privacy/permissions#audit-by-feature Android 11 使用户能够为位置、麦克风和摄像头指定更精细的权限。此外,系统会重置针对 Android 11 或更高版本的未使用应用程序的权限,如果应用…...
october-cms
环境准备 靶机链接:百度网盘 请输入提取码 提取码:3e4s 虚拟机网络链接模式:桥接模式 攻击机系统:kali linux 2021.1 信息收集 1.探测目标靶机ip。 2.探测靶机开放端口和服务情况。 漏洞探测 1.访问网页 2.用dirsearch扫描…...
抖音怎样报白?报白需要审核哪些资料呢
抖音怎样报白?报白需要审核哪些资料呢 抖音报白需要什么资料,翡翠原石产品如何开通报白#报白#小店报白#小店运营#抖音#抖音小店运营 文/专栏作家百收 随着抖音在国内流行起来,抖音上每天会有大量的视频更新,越来越多的年轻人也加…...
Spring中的AOP
Spring中的AOP 文章目录Spring中的AOPAOP概述相关术语总结作用AOP概述 AOP(Aspect Programming) 是一种设计思想,是面向切面编程思想 跟OOP(面向对象编程)有什么关系呢? AOP面向切面编程然后是OOP(面向对象编程)的补充和完善。…...
文件系统与动静态库的基本了解
目录文件系统与动静态库的基本了解文件系统了解Access Modify Changeinode硬链接软链接静态库与动态库概念静态库的制作使用静态库动态库的制作使用动态库总结如何制作文件系统与动静态库的基本了解 文件系统 了解Access Modify Change 当文件没有被打开时,他们存…...
netty——IO、NIO、AIO进化之路
IO、NIO、AIO进化之路BIO——同步阻塞IO伪异步阻塞IONIO——同步非阻塞IOAIO——异步IO总结本文会说明各种IO的特点、分别解决了什么样的问题做一个分析阐述,并结合Java代码例子来辅助理解,像这些的历史演进和详细的底层原理网上很多,所以我们…...
AI稳定生成图工业链路打造
前沿这篇文章会以比较轻松的方式,跟大家交流下如何控制文本生成图片的质量。要知道如何控制文本生成质量,那么我们首先需要知道我们有哪些可以控制的参数和模块。要知道我们有哪些控制的参数和模块,我们就得知道我们文本生成图片的这架机器或…...
20230220华南金牌主板u盘启动
20230220华南金牌主板u盘启动 2023/2/20 10:29 百度搜索:华南金牌主板u盘启动 https://www.zhihu.com/question/498121895?utm_id0 华南金牌主板b85u盘启动怎么设置? 华南金牌主板b85u盘启动怎么设置 海的那边 上小学后才发现还是幼儿园好混…… 华南一般是F7和F1…...
测试团队都在用哪些不错的测试用例管理平台?盘点6大主流测试管理系统
测试团队使用的主流测试用例管理平台:1.PingCode ;2.TestRail;3.Testlink;4.ZephyrJira;5.TestCenter;6.飞蛾。目前市面上的测试用例管理工具有很多,但由于针对的项目、领域、目标用户ÿ…...
linux 系统编程之线程
线程 文章目录线程1 线程概念2 NPT安装线程 man page:查看指定线程的 LWP 号:3 线程的特点4 线程共享资源5 线程非共享资源6 线程的优缺点7线程常用操作1 线程号pthread_self函数:pthread_equal函数:参考代码2 错误返回值分析参考代码3 线程的…...
从0开始学python -35
Python3 File(文件) 方法 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象。 在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关闭文件对…...
1.14 golang中的结构体
1. 结构体 Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 1.1. 类型别名和自定义类型 1.1.1. 自定义类型 在Go语言中有一些基本的数据类型,如string、整…...
原创不易,坚持更难
早上CSDN发消息,今天是创作满三年的纪念日,邀请写一篇博文,谈谈感受 开博原因 2020年是一个特殊的年份,疫情刚爆发第一年,也是第一次居家办公,从过完年就一直居家办公,一直居家了38天。2020年…...
计算机网络 | 谈谈TCP的流量控制与拥塞控制
文章目录一、TCP的流量控制1、利用滑动窗口实现流量控制【⭐⭐⭐】2、如何破解【死锁】局面❓二、TCP的拥塞控制1、拥塞控制的一般原理① 解决网络拥塞的误区② 拥塞控制与流量控制的关系【重点理解✔】2、TCP的拥塞控制方法① 接收窗口【rwnd】与拥塞窗口【cwnd】② 慢开始和拥…...
Flask入门(7):内置装饰器(钩子函数)
目录7.内置装饰器(钩子函数)7.1 before_request7.2 after_request7.3 before_first_request7.4 error_handlers7.5 template_filter7.6 template_global复习装饰器基础及其应用,可参考文章:闭包和装饰器 7.内置装饰器(…...
Java8新特性
✨作者:猫十二懿 ❤️🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 写在最前面 在企业中更多的都是使用 Java8 ,随着 Java8 的普及度越来越高,很多人都提到面试中关于Java 8 也…...
哈希表题目:设计哈希集合
文章目录题目标题和出处难度题目描述要求示例数据范围解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目 标题和出处 标题:设计哈希集合 出处:705. 设计哈希集合 难度 3 级 题目描述 要求 不使用任何内建的哈希表库设计一个哈希…...
java static关键字 万字详解
目录 一、为什么需要static关键字: 二、static关键字概述 : 1.作用 : 2.使用 : 三、static修饰成员变量详解 : 1.特点 : 2.细节 : ①什么时候考虑使用static关键字? ②静态变量和非静态变量的区别? ③关于静态变量的初始化问题 : ④关于静态变…...
光谱实验反射、透射光谱测量
标题反射、透射光谱测量的基本原理 暗背景/基线:Dark………………………………………………………………0% (空)白参考:Reference…………………………………………………………100% 样品反射/透射光谱:Sampl…...
【基础算法】之 冒泡排序优化
冒泡排序思想基本思想: 冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来(假设从小到大),即为较大的数慢慢往后排,较小的数慢慢往前排。直观表达,每一趟遍历,…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
算法刷题-回溯
今天给大家分享的还是一道关于dfs回溯的问题,对于这类问题大家还是要多刷和总结,总体难度还是偏大。 对于回溯问题有几个关键点: 1.首先对于这类回溯可以节点可以随机选择的问题,要做mian函数中循环调用dfs(i&#x…...
