地铁上总有人看你手机?聊聊新版系统如何把隐私权交还给我们

地铁上总有人看你手机?聊聊新版系统如何把隐私权交还给我们

跟朋友闲聊想买个鞋子。回头打开购物软件,一堆鞋子直接就给你推送到面前。

下载一个新的应用,一打开就给你弹出一堆让你不知所措的权限申请。

你不给它,就直接闪退,什么功能都用不了,这就是现状。

那有没有一种办法,用户不用把家门钥匙交出去,开发者也能把事情做成?

最近看 HarmonyOS 6.1 的一些开发能力时,你会发现它在有意的减少一些权限,或者说他用另外的方式完成了功能的实现。

这件事听起来没什么传播点,但如果你是开发者,或者经常折腾手机,其实会发现这背后很有价值。

个被忽略的问题

以前很多 App 获取内容的逻辑非常简单。

我要照片,那就申请整个相册权限。

我要一个联系人,那就申请整个通讯录权限。

对于开发来说最方便,但对于用户来说很离谱。

这也是为什么很多用户看到权限弹窗就下意识点拒绝,因为他不知道条款对应要获取的权限有多少后面会发生什么。

HarmonyOS 新版系统提供了一个我觉得挺有意思的能力,就是所谓的敏感信息最小化授权,安全Picker。

比如一个二手交易APP,你要上传物品照片。

传统做法大家都熟,先在manifest里声明存储权限,运行时弹窗请求,用户允许了,你就能遍历整个相册。

鸿蒙的做法完全不同。

你不需要申请任何权限,直接调起系统的『安全Picker』,屏幕下方只是流畅地滑出了一个系统级的文件和照片选择框。你在这个选择框里,找到那对应两张旧相机的照片,勾选。

点击确定,就完成了。

在整个发布流程中,这个二手 APP 从来没有在后台申请过相册权限。当然,他也看不到你的其他照片或者文档。

这就是利用了系统底层的安全访问机制,通过系统级的媒体库开发套件,也就是MediaLibrary Kit和Core File等底层能力来实现的。

Media Library Kit

Core File Kit

实现起来也十分简单,具体参考下图

极大地保护了用户的隐私,对开发者来说,是不用再维护那套复杂的权限状态机了。

做过开发的应该都有体会。

权限申请要考虑初次请求、用户拒绝、永久拒绝、权限被回收、引导去设置页手动开启……每种状态都要有对应的UI和逻辑,代码量不小,代码量一多,那bug肯定就更多了。

在鸿蒙的安全Picker模式下,这些复杂度消失了。你调API,系统把选择权交给用户,你拿到什么就用什么。没有权限弹窗,没有状态管理,没有用户拒绝后的复杂逻辑处理,快捷。

再来聊一个场景屏幕偷窥

比如你在地铁或者是电梯里,那拿手机跟朋友聊一些私密的话题,或者是在查自己的银行余额。

旁边总有一些无聊的人,目光会有意无意的朝你屏幕上扫,虽然他有可能不是故意的,但是这个事情绝对不会让你感觉到舒服。

物理防窥膜倒是管点用,但是贴上之后亮度直接降一半,看久了对眼睛也不好,你新买的旗舰手机,旗舰屏幕显示效果直接退回到 10年以前,得不偿失。

鸿蒙系统升级后,Device Security Kit,带来了一个很有意思的能力,叫做防窥保护(DlpAntiPeep)。

Device Security Kit

他是如何在没有防窥膜的情况下实现的?

简单来说,它就是利用手机的前置摄像头和AI感知算法。在系统底层帮你站岗。

当你开启这个功能之后,然后录入自己的面部信息。

平时你一个人盯着他的时候,那一切正常,没有异样,但是有第二个人的目光落在你的屏幕上,也就是说前置传感器检测到有别人注视你的屏幕,系统就会做出反应。

系统会提示你旁边有人在注视。,

而且这时候系统界面上的整个文档或者数据表格还会被打码,敏感信息也用模糊效果遮盖起来。

然后当那个人的目光飘走,所有的一切遮挡都又消失了,你继续进行你的操作。

也不用担心这个槽提示会打断你,如果对方是快速眼神飘过,那没有问题,如果是注视他才会有提示,我也大概测试了覆盖范围,只要你在正负40度左右,一米以内的距离都是完美触发的。

优雅。

其实前两个场景我们用户是很能够感知的,还有一些隐私泄露的环节,我们是无感的。

一些恶意应用,它其实是通过截屏和录屏来获取你的信息的。

它会潜伏在你的后台,在你输入卡号密码,或者是查看重要文档的时候,悄无声息的在后台截图或者录像,把这些东西传回到他的服务器。

针对于这个问题,新版的鸿蒙系统提供了一个非常干脆的方式,也就是窗口隐私模式。

涉及到一些金融、医疗、个人隐私页面的时候,只需要在相关的窗口属性里把隐私模式改为开启,一旦开启这个模式,任何应用在后台都别想抓取这个页面的画面。

如果强制用快捷键截屏,系统就会弹出一个提示,告诉你由于隐私保护无法截屏。哪怕是后台录像或者是通过屏幕镜像电脑上,这个被保护的窗口也会是一片漆黑。

对开发者来说,这两个能力的价值在于:你不需要自己造轮子了。截屏保护只需要设个flag,防窥屏只需要标记哪些页面是敏感的,剩下的交给系统。

特别是做金融、医疗、社交类App的团队,这两个能力可以直接砍掉原本计划中的安全模块开发工作量。

最后再聊一下登录注册这个问题。

登录和注册是几乎每个产品都要做的基础功能,但是我相信没有一个开发者会喜欢。

技术倒不是很难,就是太麻烦了,你要设计流程,要校验强度,要处理忘记密码,要做短信验证,要做各种各样的安全设计,一套下来开发量不小。

鸿蒙提供了两个能力来简化这件事。

第一个是密码保险箱。

这就是一个密码管理器,但是由于它是系统级的,所以集成度更深。

用户在APP里边输入账号密码,系统会主动询问是否保存,保存之后下次打开系统就会自动填充,验证一下就可以登录。

你看到这个说,哎,这功能没什么呀。

但是从开发者角度来说,接入成本很低。多简单呢,如下:

你在输入框里边标记,这是账号字段,这是密码字段。只需要将充当用户名的TextInput输入框的type属性设置为InputType.USER_NAME,将密码TextInput输入框的type属性设置为InputType.Password,即可使用密码保险箱的填充和保存功能。

然后处理系统的自动填充回调就行了,而且数据是加密存储的,支持跨设备同步,电脑、手机、平板都能用,开发者什么都不管,帮你搞定了存储加密同步的全部逻辑。

第二个是华为账号登录。

这个更直接。用户不需要注册、不需要设置密码、不需要验证邮箱,一键授权就能登录你的App。开发者通过Account Kit拿到用户的基本信息和唯一标识,就完事了。

Account Kit

其实写到这里,你应该也能发现,对于系统开发或者是安全管理,思路正在发生变化。

以前的系统安全往往是在漏洞出现之后打补丁,或者是搞一堆麻烦的权限管理页面,把责任一推,让用户去承担风险。

今天的安全已经朝另一个方向发展,它的思路很明确,就是如何让应用少拿数据。如何让用户少做决定,如何在不影响体验的情况下完成保护。

而且你会发现,这套思路对于独立开发者或者是小开发团队反而是利好。

很多东西不需要你自己去搭基础设施,系统已经帮你做好了,你只需要调用正确的API。就能拿到以前需要投入大量人力才能够实现的安全能力。

编辑于 2026-06-04 · 著作权归作者所有