Google 从 Android 15 开始有意破坏所有手表、手环、通知记录类 App 的基础功能,然而我们无能为力

31 天前
 little_cup

我是通知滤盒的开发者,相信这个 App 在 V2EX 已经够有名了就不再给自己硬广了。

最近时不时收到用户反馈,通知滤盒里的部分通知内容变成了「已隐藏敏感通知内容」。 研究原来是 Android 15 开始 Google Protect 加了个所谓隐私防护措施,对可能含有 OTP 验证码的通知直接隐藏内容 https://www.theverge.com/2024/5/15/24157547/android-15-will-hide-one-time-passwords-in-notifications

这件事怎么看怎么透露一股草台班子的味道。

首先是实现方式:Google 采取的是硬编码替换字符串的实现,也即,第三方 App 收到的文本内容变成了「隐藏敏感通知内容」或 “Sensitive notification content hidden” 或其他语言。这给用户带来了极大的视觉误导,第一反应都以为是第三方服务隐藏的,而非系统所为。

同时,硬编码,而非增设某种 API 的方式,也极大地给开发者适配制造了麻烦,除了硬编码几十种语言的对应文案外,开发者没有正常的方法得知某条通知内容是否被隐藏。

然后,这直接颠覆性破坏了各类手环手表、通知历史、验证码提取类工具的使用场景。 https://www.reddit.com/r/android_beta/comments/1f9plr8/sensitive_notification_content_hidden/?rdt=58980 这样的 breaking change ,在 Google 的 Android 15 behavior change 里压根没有提及。

最后,这个功能不仅产品逻辑草台班子,程序实现同样也很草台。根据实机数据反馈,高德、抖音、微博,甚至小米商城的营销、推送都被识别为了含验证码的敏感内容。

我只能说那个啥都没你 Google 敏感。

3649 次点击
所在节点    Google
23 条回复
vsyf
30 天前
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/services/core/java/com/android/server/notification/NotificationManagerService.java#11967

新增的 RECEIVE_SENSITIVE_NOTIFICATIONS 权限普通用户拿不到

@little_cup
下面好像还有一个洞,把自己做成匹配手表等设备的伴生应用也许可以.
little_cup
30 天前
@vsyf

非常感谢!
后面那个法子即使可以也应该过不了 Play 审核。不过看了代码,授予 appops 确实可行,至少我自己能用了…

@ISOtropy
@yanqian
执行这条 adb 命令,然后重启可以解除

appops set com.catchingnow.np RECEIVE_SENSITIVE_NOTIFICATIONS allow

如果要跑在手表上的话 com.catchingnow.np 换成你用的手表 app 的包名
Cert
23 天前
@JJYYPPCC 天呐,谢谢你分享这个资讯,我还觉得奇怪,为什么安卓的 doh3 不能更改为 opendns 及其其他 dns 。原来是被谷歌写死了,我原先还以为是我的手机出了问题……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1080973

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX