首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

运行时权限不能从API级别28起作用

运行时权限是指在应用程序运行时,用户需要授予应用程序特定的权限才能访问设备的敏感数据或执行敏感操作。在Android系统中,从API级别23(Android 6.0)开始引入了运行时权限机制,以增强用户对应用程序的控制和保护用户隐私。

然而,从API级别28(Android 9.0)起,Google对运行时权限机制进行了一些改变。具体来说,API级别28引入了一种新的权限模型,称为"权限组"(permission group)。权限组是一组相关的权限,当用户授予其中一个权限时,其他权限也会自动被授予。这种改变旨在简化权限管理,提高用户体验。

由于运行时权限的改变,从API级别28起,某些权限可能无法通过单独请求来获取,而是需要请求其所属的权限组。例如,如果应用程序需要访问摄像头和录音权限,它必须请求"相机"权限组,而不是单独请求"相机"和"录音"权限。这意味着在API级别28及更高版本中,运行时权限的作用范围更加细粒度,需要开发人员进行相应的权限组管理。

对于开发人员来说,需要注意以下几点:

  1. 在AndroidManifest.xml文件中声明应用程序所需的权限,包括权限组和单独的权限。
  2. 在运行时请求权限时,应请求所需权限组的权限,而不是单独的权限。
  3. 在处理权限请求的回调中,需要检查是否授予了所需权限组的所有权限,而不仅仅是单独的权限。

在腾讯云的产品生态中,与权限管理相关的产品包括:

  1. 腾讯云访问管理(CAM):提供了一套全面的身份和访问管理解决方案,可帮助开发人员管理和控制用户对腾讯云资源的访问权限。了解更多信息,请访问:https://cloud.tencent.com/product/cam
  2. 腾讯云API网关:可用于管理和控制API的访问权限,包括身份验证、访问控制、流量控制等功能。了解更多信息,请访问:https://cloud.tencent.com/product/apigateway

总结:从API级别28起,运行时权限的作用范围更加细粒度,需要请求权限组而不是单独的权限。腾讯云提供了访问管理和API网关等产品来帮助开发人员管理和控制权限。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

笔记(24)安卓各版本特性简述

2.麦克风和摄像头权限开关(下拉菜单新增麦克风和摄像头权限开关) 3.activity生命周期优化 影响目标API级别为Android12的App的行为变更 1.更安全的组件导出 2.PendingIntent...; 》Android 12:重置已授予的运行时敏感权限;无法从后台运行任务;无法接受推送通知;应用缓存文件会被删除。...:POST_NOTIFICATIONS 5.针对附近 Wi-Fi 设备的新运行时权限。...(后台访问身体传感器时,除了请求现有的BODY_SENSORS还需要BODY_SENSORS_BACKGROUND) 8.非SDK接口限制 官方从 Android 9(API 级别 28)开始,逐步开始对应用使用的非...hl=zh-cn 14.0 新特性—2023年(Beta 版) 默认拒绝设定精确的闹钟 最低可安装的目标 API 级别23,targetSdkVersion lower than 23 无障碍非线性字体放大至

41210

Android 13 SDK更新内容

通知的运行时权限:Android 13新增了运行时权限:android.permission.POST_NOTIFICATIONS。此更改有助于用户专注于最重要的通知。(通知的权限拆分的更细了。)...由于用户很难将位置信息权限与 Wi-Fi 功能相关联,因此 Android 13(API 级别 33)在 NEARBY_DEVICES权限组中引入了新的运行时权限,适用于管理设备与附近 Wi-Fi 接入点连接情况的应用...(未获取权限下,调用wifi-api 会出现 SecurityException异常) 在后台使用身体传感器需要新的权限:如果应用以 Android 13 为目标平台,并且在后台运行时需要访问身体传感器信息...照片选择器:Android 13(API 级别 33)提供了全新的照片选择器体验(原先也有照片选择器,如果你用过就知道了)。...(以前版本要的权限太多了。现在可以通过相关API关闭运行时权限。提高用户的信任度。大家可以试试,特别在之后权限即将越来越细的时候。)。

2K10

Android 9.0适配及部分新特性介绍

如果您尝试在传递此标志的情况下启动 Activity,则该 Activity 不会启动,系统会在日志中输出一则消息。...白名单:即SDK 浅灰名单(72个):仍可以访问的非 SDK 函数/字段 深灰名单(7个):对于目标 SDK 低于 API 级别 28 的应用,允许使用深灰名单接口; 对于目标 SDK 为 API...28 或更高级别的应用:行为与黑名单相同 黑名单(0个):受限,无论目标 SDK 如何,平台将表现为似乎接口并不存在 列入浅灰名单的非 SDK 接口包含可以在 Android 9 中继续工作的函数和字段...级别28及以上时,应用使用的如果是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,网上提供了三种方案: APP改用https请求 targetSdkVersion...API 28也提供了新的类: DisplayCutout 类,该类主要用于获取凹口位置和安全区域的位置等。

3.3K40

Android 13 适配指南

,但是应用自身是无法修改应用级别的通知权限,所以 App 无法知道自身有没有发送通知的权限 「所以在 Android 13 里增加了通知的运行时权限」,其中 Android 13 (33) 的通知会根据正在运行的应用程序的目标...API 级别进行不同的处理,「不过不管应用程序的目标API级别如何,Android 13 都会提示用户授予应用程序发送通知的权限」。...权限,「此权限级别为“dangerous”」,因此 App 需要向用户显示运行时提示才能被授予权限(也就是代码里调用权限申请,在设置里打开不行),未被授予权限的App 的通知将被系统自动删除; 如果应用以...12L(API 级别 32)或更低版本为目标平台;当应用程序创建其第一个通知渠道时,系统将显示权限对话框; 如果是现有应用更新,程序的目标 API 级别为: 以 Android 13 (33)为目标平台...应用程序可以触发撤销授予调用 API 的包的一个或多个运行时权限,不需要访问特定运行时权限控制 API 的应用程序可以自行撤销这些权限,这样用户就可以确保这些应用程序不会在不知情的情况下使用这些API

4.8K31

微服务中集成分布式配置中心 Apollo

environment (环境):配置对应的环境,Apollo客户端在运行时需要知道当前应用处于哪个环境,从而可以去获取应用的配置。...我是warn级别日志 2019-05-28 20:36:06.823 ERROR 44132 --- [pool-1-thread-1] com.blueskykong.apollo.PrintLogger...这是一个fallback机制,为了防止推送机制失效导致配置更新 客户端定时拉取会上报本地版本,所以一般情况下,对于定时拉取的操作,服务端都会返回304 - Not Modified 定时频率默认为每5...客户端从Apollo配置中心服务端获取到应用的最新配置后,会保存在内存中 客户端会把从服务端获取到的配置在本地文件系统缓存一份,在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置。...能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

1.4K30

微服务中集成分布式配置中心 Apollo

environment (环境):配置对应的环境,Apollo客户端在运行时需要知道当前应用处于哪个环境,从而可以去获取应用的配置。...: 我是error级别日志 我们将调整日志的级别为warn,只需要在界面上编辑。...我是warn级别日志 2019-05-28 20:36:06.823 ERROR 44132 --- [pool-1-thread-1] com.blueskykong.apollo.PrintLogger...这是一个fallback机制,为了防止推送机制失效导致配置更新 客户端定时拉取会上报本地版本,所以一般情况下,对于定时拉取的操作,服务端都会返回304 - Not Modified 定时频率默认为每5...客户端从Apollo配置中心服务端获取到应用的最新配置后,会保存在内存中 客户端会把从服务端获取到的配置在本地文件系统缓存一份,在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置。

82620

API level targeting to 28,准备好了吗?

Google Play的目标API级别要求:Google Play 要求新应用(自2019年8月1日起)和应用更新(自2019年11月1日起)将目标API级别至少设为28(至少为Android9.0)。...dark-greylist(深灰名单):targetSdkVersion小于28时仍可继续使用此名单中的接口,但会出现警告提示;大于等于28时,这些接口将会限制访问。 (3)....您可以检查应用的日志消息,查找以下详细信息: 声明的类、名称和类型(采用Android 运行时所使用的格式)。 访问方式:链接、反射或JNI。 所访问的非SDK 接口属于哪个列表。...使用StrictMode API 进行测试 (3). 使用google工具veridex 对应用进行扫描 可以在APK上运行静态分析工具veridex。...它对非活动代码路径的分析仅限于API 级别的检查。 【4.

1.3K20

Android P 适配指南

, 更大程度上对之前一些版本一些警告的具体落实,无论你的 Target Api 是否是 28 都将受到影响。...深灰名单: 对于 Target Api SDK 低于 API 28 的应用,允许使用深灰名单接口。 对于 Target Api SDK 为 API 28 或更高级别的应用:行为与黑名单相同。...,所以不必太在意,浅灰名单属于非常低级别的警告, 客户端适配迫切需要解决的是 黑名单 的列表: 黑名单 基本上是我们平时应用级开发不会用到的Api,例如: Lsun/util/calendar/...影响范围最大的当属 深灰名单, 因为官方强烈推荐使用,但是为了给开发者缓冲时间,只有 Target Api 28+ 才会出现异常,代表性的 Api 有 DexFile 类: Ldalvik/system...Target 28+ 并使用前台服务的应用必须请求 FOREGROUND_SERVICE 权限。 这是 普通权限,因此,系统会自动为请求权限的应用授予此权限

3.5K20

【Android 文件管理】应用可访问的存储空间 ( 存储空间分类 | 存储空间访问权限 | 分区存储 )

文章目录 一、存储空间分类 二、存储空间访问权限 三、分区存储 四、相关文档资料 一、存储空间分类 ---- 在 Android 9( API 级别 28 ) 及以下版本中 , Android 文件存储空间分为两类...---- 内部存储空间访问不需要权限 ; 在 Android 9( API 级别28 ) 及以下版本中 访问外部存储需要使用 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE...权限 ; 在 Android 10( API 级别 29 ) 及以上版本中 , 只能方位特定的目录 , 如应用专属目录 , 公共目录 , 不需要权限 , 其它外置存储空间的目录 , 无法访问 ; 三、...分区存储 ---- 在 Android 9( API 级别 28 ) 及以下版本中 , 开发者可以任意在外置存储目录中创建文件 , 进行任何读写操作 , 并不会很规范的管理外置存储目录中的文件 , 卸载后...级别 28 ) 及以下版本 , 不会启用分区存储 ; 目标平台为 Android 10( API 级别 29 ) 及以上版本 , 会自动开启分区存储 , 这时候需要进行兼容开发 ; 一旦启用了分区存储

2.3K30

Android Pie限制非 SDK 接口的调用

Android Pie的限制 从 Android 9(API 级别 28)开始,Android对应用能使用的非 SDK 接口实施了限制。...如果您的应用尝试访问其中任何一个接口,系统就会抛出错误 有条件屏蔽 (greylist-max-x) 从 Android 9(API 级别 28)开始,当有应用以该 API 级别为TargetVersion...时,我们会在每个 API 级别分别限制某些非 SDK 接口。...框架中正式记录、受支持并且可以自由使用的接口 简单描述则为以下情况 : black List : 不管在哪个平台上 , 都会抛出错误 greylist-max-x : 当APP的TargetVersion与运行时...Android版本相同时 , 则会抛出错误 greylist : 目前可以继续调用 , 其实系统是建议这样使用 , 可能在未来的版本会加入到greylist-max-x里 whitelist : 不管怎么调都可以正常使用

1.1K30

Android权限机制,你真的了解吗?

(3)Android应用程序权限权限在AndroidManifest文件中由程序开发者声明,在程序安装时由用户授权,共有下述4类不同的权限保护级别(Protection Level)。...但Android M出来后,将这个权限运行时做了进一步的检查,用户随时可拒绝权限。...值得注意的是:许多预装应用使用大量高级别权限,带来很大的安全隐患。 用户只有通过不断学习,充分理解新加入的权限说明,才能在安装软件时从Android权限警告中获取足够的信息,从而做出正确的决定。...四、Android M变化以及带来的影响 从Android6.0(API LEVEL23)开始,用户对应用权限进行授权是发生在应用运行时,而不是在安装时。...targetAPIleve:是在编译的时候起作用,用于指定使用哪个API版本(SDK版本)进行编译。

5.9K100

使用Cilium增强Istio|通过Socket感知BPF程序

除了提供传统的网络级安全性之外,BPF的灵活性还可以在API和进程级别上实现安全性,以保护容器或容器内的通信。...除了Istio之外,Cilium还允许定义服务级别安全策略,并确保受损的sidecar代理只能以最小权限运行。...外部服务的TLS可见性(正在开发中) Istio依赖于对应用程序协议层(如HTTP)的可见性,以提供诸如基于URI的路由,基于HTTP头的授权和API请求级别遥测和跟踪等功能。...公平地说,应用程序使用的SSL库必须感知kTLS,并且用户必须选择系统级别的行为。在应用程序运行时升级SSL版本和启动可视化一样简单,没有侵入应用程序。...除了Istio之外,Cilium还允许定义服务级别安全策略,并确保受损的边车代理只能以最小的权限运行。

2.8K40

vuejs单页应用的权限管理实践

目标 关于权限管理,由于本人对服务端并不能算得上十分了解,我只能从我以往的项目经验中进行总结,并不一定十分准确. 一般权限管理分为以下几部分....应用使用权 页面级别权限 模块级别权限 接口级别权限 接下来会逐一讲解上述部分.完整的实例代码托管在github-funkyLover/vue-permission-control-demo上....应用使用权-登录状态管理与保存 首先应用使用权其实就是简单的判断登录状态而已.在很多C端应用,登录之后能使用更多的功能在一定程度上也可以算作权限管理的一部分.而在B端应用中一般表现为登录则不能使用(当然还能使用类似找回密码之类的功能...模块级别权限-组件权限 模块级别权限很好理解,其实就是带权限判断的组件.在React中借助高阶组件来定义需要过滤权限的组件是非常简单且容易理解的.请看下面的例子 const withAuth = (Comp...接口级别权限 接口级别权限一般就与UI库关联不大,这里简单讲一下如何处理.

2.2K80

云可靠性需要运行时安全和零信任

API 到数据库连接和第三方集成,跟踪入口点变得像噩梦一样。 这些入口点是动态的,这意味着它们是动态创建和销毁的。一组微服务中没有固定的入口点数量。因此,仅仅在部署期间检查漏洞是不够的。...因此,尽管她的帐户权限已正确配置,但她能够通过不同的资源进行隧道连接以提高她的权限级别。” 如果没有运行时安全和主动异常检测,这种横向移动将无法识别。...CWPP 工具更进一步,通过限制容器在系统级别(而不仅仅是进程级别)可以做什么和不能做什么。...这些工具可以定义容器内的哪些进程可以访问敏感文件,然后对这些规则进行编码并自动执行这些规则,以指导容器访问什么和访问什么。 相同的运行时容器安全机制可用于网络微分段。...运行时安全工具会持续监控云工作负载,为各种工作负载创建基线权限要求,并持续识别授予容器、Pod 或 EC2 等云基础设施的不必要权限

9610

相册适配 Android 11 绕的那些弯路

通过翻查官方文档,大概知道了这个属性的意思:在配置targetSdk >= 29,应用搭载在Android 10及以上版本的手机运行时,可以暂时停用「分区存储」 1.「分区存储」又是什么?...分区存储 为了让用户更好地管理自己的文件并减少混乱,以 Android 10(API 级别 29)及更高版本为目标平台的应用在默认情况下被赋予了对外部存储空间的分区访问权限(即分区存储)。...在搭载 Android 9(API 级别 28)或更低版本的设备上,只要其他应用具有相应的存储权限,任何应用都可以访问外部存储空间中的应用专属文件。...为了让用户更好地管理自己的文件并减少混乱,以 Android 10(API 级别 29)及更高版本为目标平台的应用在默认情况下被授予了对外部存储空间的分区访问权限(即分区存储)。...只适配 Android 10 (推荐) 在Manifest中添加 <application   android:requestLegacyExternalStorage="true"   ...> 我们刚才知道了

1.6K30
领券