AI手机网,短视频直播 硬改改机 一键新机 群控软件 刷机定制

 找回密码
 立即注册
查看: 3028|回复: 7

[信息类] Android 13这些权限废弃,你的应用受影响了吗

[复制链接]
发表于 2022-11-4 15:37:19 | 显示全部楼层 |阅读模式
无论是更改个人头像、分享照片、还是在电子邮件中添加附件,选择和分享媒体文件是用户最常见的操作之一。在听取了 Android 用户反馈之后,我们对应用程序访问媒体文件的方式做了一些改变。2 _- m+ R2 Z; H; A0 L' J
Android 13 已被废弃的权限许多用户告诉我们,文件和媒体权限让他们很困扰,因为他们不知道应用程序想要访问哪些文件。
: j7 A' ~* _+ H# o$ x- b0 S" Q在 Android 13 上废弃了 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限,用更好的文件访问方式代替这些废弃的 API。2 ^( F' z% S* b6 [% l$ P$ e
从 Android 10 开始向共享存储中添加文件不需要任何权限。因此,如果你的 App 只在共享存储中添加文件,你可以停止在 Android 10+ 上申请任何权限。
) ]9 r  [3 ]; G; S* N* w6 }在之前的系统版本中 App 需要申请  READ_EXTERNAL_STORAGE  权限访问设备的文件和媒体,然后选择自己的媒体选择器,这为开发者增加了开发和维护成本,另外 App 依赖于通过 ACTION_GET_CONTENT 或者 ACTION_OPEN_CONTENT 的系统文件选择器,但是我们从开发者那里了解到,它感觉没有很好地集成到他们的 App 中。$ c- |) I" I& I9 B2 |/ \% @

8 }' c$ `9 `8 z- }9 ^. ^& S. C图片选择器在 Android 13 中,我们引入了一个新的媒体工具 Android 照片选择器。该工具为用户提供了一种选择媒体文件的方法,而不需要授予对其整个媒体库的访问权限。
- r6 O7 G" n3 k1 e! h它提供了一个简洁界面,展示照片和视频,按照日期排序。另外在 "Albums" 页面,用户可以按照屏幕截图或下载等等分类浏览,通过指定一些用户是否仅看到照片或视频,也可以设置选择最大文件数量,也可以根据自己的需求定制照片选择器。简而言之,这个照片选择器是为私人设计的,具有干净和简洁的 UI 易于实现。( @# [- f% |- Q+ y, f; X
+ a2 }8 n. z6 A6 E2 S9 g. O' Q
我们还通过谷歌 Play 系统更新 (2022 年 5 月 1 日发布),将照片选择器反向移植到 Android 11 和 12 上,以将其带给更多的 Android 用户。8 f3 e: M6 s  e0 \) f6 e
开发一个照片选择器是一个复杂的项目,新的照片选择器不需要团队进行任何维护。我们已经在 ActivityX 1.6.0 版本中为它创建了一个 ActivityResultContract。如果照片选择器在你的系统上可用,将会优先使用照片选择器。/ D4 Z4 b% I2 R5 G& _! Z
// Registering Photo Picker activity launcher with a max limit of 5 itemsval pickMultipleVisualMedia = registerForActivityResult(PickMultipleVisualMedia(5)) { uris ->    // TODO: process URIs}// Launching the photo picker (photos & video included)pickMultipleVisualMedia.launch(PickVisualMediaRequest(PickVisualMedia.ImageAndVideo))复制代码如果希望添加类型进行筛选,可以采用这种方式。  G, T) j2 f1 O2 Q9 \) z! E, ^
// Launching the photo picker (photos only)pickMultipleVisualMedia.launch(PickVisualMediaRequest(PickVisualMedia.ImageOnly))// Launching the photo picker (video only)pickMultipleVisualMedia.launch(PickVisualMediaRequest(PickVisualMedia.VideoOnly))// Launching the photo picker (GIF only)pickMultipleVisualMedia.launch(PickVisualMediaRequest(PickVisualMedia.SingleMimeType("image/gif")))复制代码可以调用 isPhotoPickerAvailable 方法来验证在当前设备上照片选择器是否可用。7 v# ^9 U, h0 F( {
ACTION_GET_CONTENT 将会发生改变正如你所见,使用新的照片选择器只需要几行代码。虽然我们希望所有的 Apps 都使用它,但在 App 中迁移可能需要一些时间。
; P+ h. u  s$ |这就是为什么我们使用 ACTION_GET_CONTENT 将系统文件选择器转换为照片选择器,而不需要进行任何代码更改,从而将新的照片选择器引入到现有的 App 中。
. r' J; g0 `7 x% _; i4 I" n2 r3 X8 c8 z+ q4 A+ E" e
针对特定场景的新权限虽然我们强烈建议您使用新的照片选择器,而不是访问所有媒体文件,但是您的 App 可能有一个场景,需要访问所有媒体文件(例如图库照片备份)。对于这些特定的场景,我们将引入新的权限,以提供对特定类型的媒体文件的访问,包括图像、视频或音频。您可以在文档中阅读更多关于它们的内容。9 a1 \8 Y, P; l! T- a: K1 K
如果用户之前授予你的应用程序 READ_EXTERNAL_STORAGE 权限,系统会自动授予你的 App 访问权限。否则,当你的 App 请求任何新的权限时,系统会显示一个面向用户的对话框。0 E5 V3 r7 @8 s+ i$ p
所以您必须始终检查是否仍然授予了权限,而不是存储它们的授予状态。# @- e8 y1 D% I, t& I
$ w7 O# T6 o$ B" R& |" V
下面的决策树可以帮助您更好的浏览这些更改。- j$ [8 j7 C- {" }6 J3 ]
' I# z. q8 T; M- @( r' V7 B7 m7 f0 Z) I
我们承诺在保护用户隐私的同时,继续改进照片选择器和整体存储开发者体验,以创建一个安全透明的 Android 生态系统。1 E* d' v6 q( o8 M& T* V  P! U
新的照片选择器被反向移植到所有 Android 11 和 12 设备,不包括 Android Go 和非 gms 设备。
, T9 `( q& O2 i- G
( ?- V/ }, e9 d全文到这里就结束了,感谢你的阅读,坚持原创不易,欢迎在看、点赞、分享给身边的小伙伴,我会持续分享原创干货!!!
2 K0 X5 H$ |; m7 w" V6 N) o真诚推荐你关注我,公众号:ByteCode ,持续分享硬核原创内容,Kotlin、Jetpack、性能优化、系统源码、算法及数据结构、动画、大厂面经。5 }$ }4 L" k3 o: Y& ?# |

( l, {0 B0 ^: Q4 B
我开了一个云同步编译工具(SyncKit),主要用于本地写代码,然后同步到远程设备,在远程设备上进行编译,最将编译的结果同步到本地,代码已经上传到 Github,欢迎前往仓库 hi-dhl/SyncKit  查看。, A9 i. N. R) p6 X9 ]
+ J" V3 F' H: \/ D0 j' ?
8 t, s8 y% @$ q3 k
' |* \5 O5 k$ ]2 o. b
发表于 2022-11-4 15:37:20 | 显示全部楼层
谢谢分享,非常好用,很牛
发表于 2022-11-4 15:37:33 | 显示全部楼层
可以解决了我的问题
发表于 2022-11-4 15:37:50 | 显示全部楼层
气氛不算太好,不过也可以
发表于 2022-11-4 15:38:07 | 显示全部楼层
谢谢分享,非常好用,很牛
发表于 2022-11-4 15:38:22 | 显示全部楼层
这是真的吗
发表于 2023-1-17 01:37:16 | 显示全部楼层
搞起来,学习
发表于 2024-8-26 23:29:34 | 显示全部楼层
背起就跑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术交流售后群

QQ|小黑屋|手机版|站点找错-建议|AI手机网 |Sitemap



GMT+8, 2025-11-8 11:19 , Processed in 0.154881 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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