找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4335

积分

0

好友

584

主题
发表于 2 小时前 | 查看: 3| 回复: 0

自己辛苦积攒下来的照片和视频,一夜之间可能被一款常用的App清空。最近,不少网友在微博、小红书等社交平台上反映,在未进行任何操作的情况下,手机相册里数百甚至数千张照片和视频被自动删除,而系统日志显示,执行这一删除操作的应用正是美团App。

社交媒体用户投诉美团删除照片视频的截图

随即,#美团删照片# 话题登上微博热搜。对此,美团客服在3月24日做出回应:“该问题主要是安卓系统在极少数情况下,App自动缓存清理时遇到第三方SDK冲突导致异常。问题发生后至今,累计有180多位用户进线客服咨询,预计潜在波及用户范围约在数百人。我们在发现该问题后已第一时间进行紧急修复。”

这个解释引出了一个核心的技术疑问:App自动清理缓存时遇到第三方SDK冲突,为何会删除用户相册里路径完全不同的照片或视频呢?通常,App的缓存文件存储在私有目录(/data/data//sdcard/Android/data/ 下应用专属的目录),而用户的照片和视频则存储在媒体库(MediaStore)管理的DCIM或Pictures目录下。如果开发者严格遵循谷歌的 Android 开发者指南,App清理自身缓存的行为理论上根本无法触及这些个人媒体文件。

社交媒体关于美团删除照片事件的讨论截图拼图

事实上,自 Android 11 起,谷歌就引入了更严格的隐私和安全限制,其中一项关键变化就是限制普通应用(非系统应用)对 /data 目录的直接访问。这意味着,应用通常只能访问和修改自己私有空间内的文件。要想访问音乐、照片等媒体库文件,必须请求用户授予 READ_MEDIA_IMAGESREAD_MEDIA_VIDEO 等权限,并通过 MediaStore API 进行操作。

那么,美团App为何拥有删除用户照片的“能力”?这与其业务功能有关。大约在2022年,美团App引入了短视频功能,位于首页的菜单入口中。为了让用户能够上传拍摄好的短视频,应用自然需要请求并获得访问并修改媒体库的权限。从技术上讲,任何被授予了媒体文件存储(写)权限的应用,都具备了删除你相册中照片和视频的潜在能力。

美团外卖App照片与视频权限设置界面截图

美团是故意删除用户照片的吗?这个可能性其实非常低。对于互联网厂商而言,分析用户相册内容以完善用户画像、进行精准广告推送或许存在动机,但主动破坏用户个人数据则是有百害而无一利的违法行为。前者或许游走在法律边缘,后者则是明确违规。

根据多位Android开发者的分析,问题的根源更可能在于美团的开发实践没有严格遵守规范。Android 10 开始就要求应用使用 MediaStore API 来访问照片、视频和音乐文件,但许多深度依赖基于原始文件路径(File Path)API的遗留代码或第三方库,很难平滑切换到使用文件描述符(File Descriptor)的 MediaStore 方式。

从 Android 11 开始,谷歌禁止应用直接访问 /data 目录,这导致许多开发者为了“省事”,采用了一种取巧的方案:将那些依赖原始文件路径的输入/输出请求,通过某种方式重定向到使用 MediaStore API,或者干脆将应用内的某些媒体文件映射到公共媒体库中。

Android开发者大会介绍的Photo Picker功能示意图

这时,一旦出现多个SDK(软件开发工具包)试图修改同一部分代码或资源,或者与工程中引入的其他第三方库发生冲突,就可能导致应用出现意料之外的BUG。原本旨在清理私有目录下缓存文件的逻辑,可能因为路径映射错误,而被执行成了清理 DCIM 或 Pictures 目录。

简而言之,“美团删照片”事件大概率是一次典型的代码质量与架构缺陷问题。但作为头部互联网公司,美团的这次疏漏反映了一个令人不安的事实:他们可能并未将用户数据安全置于最高优先级。因为针对“拥有媒体库权限的应用可能误删照片”这一问题,谷歌其实早已在 Android 13 及后续版本中提供了针对性的解决方案——照片选择器。

在 Android 14 上,谷歌引入了一个作为“中间层”的系统级照片和视频选择界面。这个选择器提供了支持多选和预览的媒体文件面板,用户无需授予应用访问整个媒体库的权限,而可以仅选择特定的照片或视频供应用使用。

同时,为了强制开发者遵守新规,谷歌设计了 READ_MEDIA_VISUAL_USER_SELECTED 权限。该权限由系统自动管理,无论应用是否针对 Android 14 进行适配,都会被自动添加到应用的清单中。当用户通过照片选择器授予访问特定媒体文件的权限时,应用实际上只拥有对这些选定文件的临时访问权。

美团App版本信息与库文件分析截图

这样一来,即使用户需要上传照片,App也只能通过系统弹窗让用户选择具体文件,而无法直接遍历和操作整个相册。即使App自身出现BUG,其破坏范围也被严格限制在用户本次会话所选定的少数文件内,从而避免了“删光整个相册”的灾难性后果。

然而,这个优秀的功能有一个前提条件:只有应用适配 Android 14 (API 级别 34) 或更高版本时,才能启用这项变更。目前,Google Play 的政策是自2025年8月31日起,新应用和应用更新必须以 Android 15 (API 级别 35) 为目标平台。相比之下,国内主流应用商店对应用的目标API级别要求,通常还在大于等于 30(对应 Android 11)。

美团App不同版本库文件对比截图

这意味着,在 Google Play 上架的国际版美团App(目标API 35)很可能已经适配了“限制访问照片与视频”的新特性,会调用照片选择器。而在国内应用商店上架的版本(目标API 30)则可能仍在使用旧式的全局存储权限请求方式,系统会提示“该应用未适配相关功能”。换言之,如果美团将国内版本的目标API级别也提升到 35 并遵循新规范,这次的照片误删事件或许根本就不会发生。

这起事件不仅是一个技术BUG,更是对国内Android应用开发规范与数据安全意识的拷问。当便捷性开发习惯凌驾于用户隐私安全规范之上时,类似的“意外”就很难彻底避免。对于开发者而言,紧跟系统迭代、严格遵守最佳实践,才是对用户数据最基本的尊重。对于此类涉及用户核心数据安全的技术话题,欢迎大家在 开发者广场 进一步交流与探讨。




上一篇:Arm发布AGI CPU:深挖其AI算力架构与生态战略背后的逻辑
下一篇:Redis监控盲区:故障排查时,你真正应该优先关注的5大指标
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-26 03:44 , Processed in 0.542676 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

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