![]()
今天有这么一件事上了热搜,让不少人看完心里都有点害怕,那就是 “美团删照片” 事件。
简单来说,就是这两天陆续有多个品牌的手机用户表示,自己遭遇了美团 App 在后台自动删除本地照片、视频和音频文件的情况。。。
![]()
有些运气好的用户,系统起码还能检测到删照片行为并且拦截提醒你,而要是你手机上没有拦截提醒,那照片可就真的说没就没了。。。
![]()
无论是微博还是小红书,都有很多人发帖子现身说法,表示自己照片确实被美团删了。。。
![]()
所以这事儿一出来,别说一脸蒙逼的网友们了,就连托尼也楞了一下,这又是什么奇怪的 App 行为?
不过作为身经百战的数码宝贝,以前各种 App 的离谱操作咱也不是没见过,而且通常情况下,一定是因为有什么地方出现了偏差,才会造成乍一看很离谱的操作。
于是托尼赶紧去研究了一波,想帮大家搞清楚这究竟是咋回事儿,结果嘛。。。其实事实可能比大家想得要简单。
先来一个祖传省流,如果你的安卓手机系统版本比较老,比如五年前的Android 11甚至更早、或者还在用低于鸿蒙 4.2 的华为手机,那么确实会更容易触发这个漏洞,导致美团库库删你照片。
![]()
但是只要你在用比较新的 iPhone、Android 12 之后的安卓手机、或者鸿蒙 5.0 版本之后的新华为手机,是不会被第三方 App 自身的 bug 触发删恶性删照片事件的。
之所以说是旧系统,是因为美团删照片的这种行为,属于 “静默删除” 。
从网上的各种报道可以看出来,美团删照片几乎是在用户不知情的情况下完成的,有不少人甚至还是手机弹出拦截通知之后才发现的。
![]()
差友们可能会觉得静默删除这事儿有点离谱,但事实上,在 Android 10 (API 29) 系统版本之前,只要你第一次使用一个 App 时,允许它获得写入外部存储的权限,那么这个 App 就可以在后台静默删除相册和文件,也不会有任何提示。
这是因为在 Android 10 和更早版本,安卓还在使用 Shared Storage 存储模式,说白了就是个大通铺,不同 App 可以轻易读取甚至删除其他 App 的文件,当然也包括存储在 /DCIM 和 /Pictures 目录下的系统公共图片目录。
而咱们在用美团的时候,就有可能开通了读取文件的权限,比如想给骑手卖家发照片沟通,或者想要保存照片等等,一不留神就给了个权限。
而这个时候我们再去看美团官方的说法 —— “第三方插件冲突导致缓存清理异常” ,一切就说得通了。
![]()
通常情况下,程序员会在这里写一段递归删除代码,比如假设目标是删掉 /sdcard/meituan/cache 下的所有文件,但是路径传递出了 bug,那么这段代码就会顺着错误的路径把能看到的所有文件全给你删了。。。
所以这就解释了美团为什么没有按照正常的逻辑去清理缓存,而是猛打一把方向,冲进了你的 DCIM 目录删起了照片。
这也是为什么,从网上一些截图和机型能看出来,通常都是一些 “上了年纪” 的安卓手机,以及非原生鸿蒙的华为手机中招。
![]()
那么这时话又说回来了,为啥新版本的安卓就不容易出事儿呢?
这是因为从 Android 11 版本开始,谷歌学习了隔壁苹果 iOS 的逻辑,强制推行了新的 Scoped Storage存储设计,大伙可以理解成分区存储或者沙盒存储。
![]()
说白了,就是各个 App 从以前的大通铺变成了单人公寓。
此时,每个 App 都有自己专门的文件夹,读写文件不再需要权限,但是其他 App 也进不来。
这时候 App 们依旧可以通过申请文件访问权限,访问存放在公共区域的相册文件,但是和以前的区别是:
新的权限设计,只能读,不能写。
如果此时 App 想要动不属于它的文件,比如删除存放在公区图片,那么它的删除文件指令会被系统强制重定向到一个叫做 MediaStore 的接口。
而这时,系统会强制弹窗,告诉你这个 App 要删照片了。
这里托尼用刚安装好的第三方相册软件举例子 (手机系统是 Android 16) ,我们在手机自带的相册 App 里可以很轻松的删除照片。
但如果你想通过自己安装的第三方相册里把系统相册的照片删了,那么这时会有一个巨大的弹窗弹出来,让你手动允许或者拒绝。
![]()
只有用户在这个系统强制弹出的二次确认里面点了 “允许”,系统的 MediaStore 框架才会真正开始执行删除照片的操作。
当然,在权限这一块儿,还得是 iOS 和原生鸿蒙更加重量级。
比如在 iOS 系统里,无论 App 是想要获得 “允许访问所有照片” 还是仅仅 “选中的照片” 的操作权限,iOS 都基本会有一个强制弹窗提示。
![]()
而原生鸿蒙也是不管你这那的,等你选好了之后我再单独给这些照片权限,App 只能访问你选中的这些照片。
![]()
到这里,你可能觉得把安卓手机升级到最新版本就万事大吉了,通常来讲确实是这样没错。。。
但是托尼这里还是要给大伙泼盆冷水,因为对于安卓系统来说,哪怕更新到 Android 11 甚至更新的系统,理论上也并不意味你的相册就绝对安全了。
因为 Android 11 虽然让 App 们独门独户了,但也引入了一个特殊的权限 —— 媒体管理应用(Media Management Apps)。
![]()
它和大家经常看到的 “照片与视频” 权限不一样,是一个更高级的特殊权限。假如有小伙伴现在还在安装第三方文件管理器的话,可能看到过类似的权限申请提示。
如果有用户图方便,仍然给一些 App 授予了这个权限,那么 App 在调用 MediaStore 接口清理文件的时候,系统仍然不会弹窗确认。
而如果恰好这个 App 是个草台班子的话,那么就会有可能再次复现美团删照片的情况。。。
不过这种事情发生的概率还是很低的,并且我们刚确认了一下,美团并不会申请 “媒体管理应用” 的权限。差友们倒也不用过于恐慌,管好自己的手,别乱给权限就行。
总之,过于老旧的手机和系统版本,加上美团自己闹出来的开发 bug,共同造成了 App 未经同意就删照片的诡异现象。
要是你的手机系统版本比较老,那还是尽可能更新到最新的系统,另外定期检查一下有没有图方便给 App 们滥发权限。。。
相信我,如果你是一个 i 人,这辈子都不需要让一个外卖软件获得访问相册的权限。
当然,e 人也不需要,咱们有事儿可以直接打电话。。。
撰文:百威
编辑:米罗
美编:焕妍
微博、小红书
微博 - @南方日报
华为官网
Medium - Understanding Scoped Storage in Android
CNET - The best Android 10 features you should be using today
![]()
![]()
![]()