查看: 2150|回复: 8
收起左侧

[IT业界] 谷歌:12 月起,数十亿台安卓手机等支持权限自动重置,包括 Android 6.0~11

[复制链接]
蓝天二号
发表于 2021-10-20 12:56:39 | 显示全部楼层 |阅读模式
IT之家 10 月 20 日消息,谷歌 Android 开发者博客今天发文称,为数十亿台设备提供权限自动重置功能。

应用通常需要请求某些权限才能正常运行,但在任何给定的设备都有数十个应用的情况下,要让之前授予的权限保持最新状态可能很困难,特别是在你长时间未使用某个应用时。
ec66138e-345c-4fe1-b280-1dc95f7f0529.png
谷歌称,在 Android 11 中引入了权限自动重置功能。这项功能有助于保护用户的隐私: 如果用户几个月未使用某应用,该功能就会自动重置此应用的运行时权限,即请求时向用户显示提示的权限。2021 年 12 月起,谷歌会将这项功能扩展到数十亿台设备。该功能将自动在运行 Android 6.0 (API 级别 23) 或更高版本的使用 Google Play 服务的设备上启用。

权限自动重置功能

https://developer.android.google ... missions#auto-reset

运行时权限

https://developer.android.google ... ns/overview#runtime

Google Play 服务

https://developers.google.cn/android

系统将默认为面向 Android 11 (API 级别 30) 或更高版本的应用启用该功能。不过,用户可以为面向 API 级别 23 到 29 的应用手动启用权限自动重置功能。

那么,这对开发者来说意味着什么呢?

例外

一些应用和权限将自动免于撤消,如企业使用的活动设备管理员应用,以及由企业政策固定的权限。

请求用户停用自动重置

如有需要,开发者可以请求用户阻止系统重置其应用的权限。适用于用户期望应用主要在后台运行,甚至无需与其互动的情况。您可以查看主要用例:

https://developer.android.google ... -disable-auto-reset

比较当前行为与新行为
68536386-e5b4-4f50-8b99-29b553210177.png
必要的代码更改

如果一个应用面向 API 30 及更高版本,并请求用户停用权限自动重置,那么开发者需要做一些简单的代码更改。如果应用不停用自动重置,则无需进行代码更改。

注: 此 API 仅适用于 targetSDK 为 API 30 或更高版本的应用,因为仅这些应用具有权限自动重置。如果应用的 targetSDK 为 API 29 或更低版本,则开发者无需进行任何更改。

下表汇总了新的跨平台 API (与 Android 11 中发布的 API 相比):

Android 11

https://developer.android.google ... issions-unused-apps
85bdefd7-9047-4937-b92d-337dd4734e08.png
PackageManager.isAutoRevokeWhitelisted()

https://developer.android.google ... toRevokeWhitelisted(java.lang.String)

Intent.ACTION_AUTO_REVOKE_PERMISSIONS

https://developer.android.google ... _REVOKE_PERMISSIONS

这个跨平台 API 属于 Jetpack Core 库,将于 Jetpack Core v1.7.0 中推出,现已发布 Beta 版:

https://developer.android.google ... roidx/releases/core

一个需要用户禁用自动停用自动重置的逻辑示例:
val future: ListenableFuture<Int> =    PackageManagerCompat.


IT之家获悉,以上逻辑适用于 Android 6.0 到 Android 10,以及 Android 11 和更高版本的设备。只需使用新 API 即可,您无需再调用 Android 11 的自动重置 API。

与 Android 12 中应用休眠功能的兼容

新 API 同样与 Android 12 (API 级别 31) 中引入的应用休眠功能兼容。休眠是适用于未使用应用的一种新限制。该功能不适用于 Android 12 之前的操作系统版本。

Android 12 (API 级别 31) 中引入的应用休眠功能

https://developer.android.google ... ehavior-changes-all

如果权限自动重置和应用休眠都应用于一个应用,则 getUnusedAppRestrictionsStatus () API 将返回 API_31。

发布时间表

2021 年 9 月 15 日 - 跨平台自动重置 API 现已进入测试阶段 (Jetpack Core 1.7.0 Beta 版库),所以开发者现在就可以开始使用这些 API。即使在不支持权限自动重置的设备上,使用这些 API 也是安全的 (API 在这些设备上会返回 FEATURE_NOT_AVAILABLE)。

2021 年 10 月 - 跨平台自动重置 API 可作为稳定的 API 使用 (Jetpack Core 1.7.0)。

2021 年 12 月 - 权限自动重置功能将开始在由 Google Play 服务提供支持并运行 Android 6.0 到 Android 10 之间版本的设备上逐步推广。在这些设备上,用户可以前往自动重置设置页面,针对特定应用启用/停用自动重置。系统将在设备启用该功能几周后开始自动重置未使用应用的权限。

2022 年第 1 季度 - 权限自动重置功能将覆盖所有运行 Android 6.0 到 Android 10 之间版本的设备。
ForeverX
发表于 2021-10-20 13:34:57 | 显示全部楼层
国内无缘
忆往昔°
发表于 2021-10-20 16:13:08 | 显示全部楼层
OneUI已经有了
kuqiao
发表于 2021-10-20 17:00:12 | 显示全部楼层

这是哪款星星星的手机
ask007
发表于 2021-10-20 17:02:37 | 显示全部楼层
什么时候能和以前的app ops里面一样在权限管理中提供忽略功能就好了
sevenday
发表于 2021-10-22 12:14:30 | 显示全部楼层

ONEUI是哪家的?
忆往昔°
发表于 2021-10-22 17:03:06 来自手机 | 显示全部楼层
kuqiao 发表于 2021-10-20 17:00
这是哪款星星星的手机

s20u
忆往昔°
发表于 2021-10-22 17:03:22 来自手机 | 显示全部楼层
sevenday 发表于 2021-10-22 12:14
ONEUI是哪家的?

三星
9pro
发表于 2021-10-22 20:42:27 | 显示全部楼层
国产深度定制的系统就别指望了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 14:49 , Processed in 0.134178 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表