Google 从 Android 15 开始有意破坏所有手表、手环、通知记录类 App 的基础功能,然而我们无能为力 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
little_cup
V2EX    Google

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

  •  2
     
  •   little_cup 360 天前 5627 次点击
    这是一个创建于 360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是通知滤盒的开发者,相信这个 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 敏感。

    第 1 条附言    360 天前
    https://issuetracker.google.com/issues/354524657 这里是对应的 issue tracker
    26 条回复    2025-08-29 00:42:08 +08:00
    yanqian
        1
    yanqian  
       360 天前
    没用过新版,所以用户也无法更改这个设置么?
    osilinka
        2
    osilinka  
       360 天前
    中国不是有中国的特供版吗?
    JJYYPPCC
        3
    JJYYPPCC  
       360 天前   1
    想起来 Android 的 DOH3 就是写死 CF 和 Google 服务器,有点异曲同工
    感觉现在 Google 的好东西都争着上自家 Pixel ,对 AOSP 就有点不够意思了
    243205964
        4
    243205964  
       360 天前
    请问通知滤盒双十一会有优惠吗
    little_cup
        5
    little_cup  
    OP
       360 天前
    @anqian 完全没有
    @osilinka 截图这个用户反馈的设备就是小米,不清楚是什么 ROM
    bkmi
        6
    bkmi  
       360 天前 via Android
    看 Google 处理后台剪切板权限,就是一刀砍,完全不给开发余地,恶心人。
    little_cup
        7
    little_cup  
    OP
       360 天前
    @bkmi 我的上上个 App 就是剪贴板的。
    TrembleBeforeMe
        8
    TrembleBeforeMe  
       360 天前
    这下不如 iOS 了?至少给了通知权限都能提醒
    seWindows
        9
    seWindows  
       360 天前
    谷歌应该是想办法后期好推广自己的,感觉 DIY 领域从 Android 2.1-4.0 需要 root 权限,到 Android 5.1-13 不再需要 root 权限也能实现大多数功能。到现在 Android 又需要 root 权限了
    yyzh
        10
    yyzh  
       360 天前 via Android
    @seWindows 国产 rom 应该会魔改的吧.
    不过现在国产手机应该只剩一加这一根独苗还支持解锁 bl 的了
    liliclinton
        11
    liliclinton  
       360 天前   4
    按照谷歌的说明,这个机制只有在共享屏幕的状态下触发。

    https://security.googleblog.com/2024/05/io-2024-whats-new-in-android-security.html

    ```
    Automatically Hidden Notifications and One-time Passwords (OTPs): During screen sharing, private notification content will be hidden, preventing remote viewers from seeing details in a user's notifications. Apps that post OTPs in notifications will be automatically protected from remote viewers when you’re screen sharing, helping thwart attempts to steal sensitive data.
    ```

    试问如果全程都是隐藏验证码的话,用户自己要如何查看这个验证码呢?
    little_cup
        12
    little_cup  
    OP
       360 天前 via Android nbsp; 2
    @liliclinton 然而包括我自己测试,在最新的正式版 Android 15 上,任何时候对 Notification Listener 拿到的通知内容都是经过了硬编码修改的。没有开启任何屏幕共享。
    系统通知栏里是可以看见通知内容的,就像什么都没发生一样。
    ekucn
        13
    ekucn  
       360 天前   2
    虽然我不是给楼主泼冷水,这些年我做开发来看,安卓或者 ios 开发工具类的 app ,是非常痛苦的事。

    你功能做得好,系统直接抄过去,结果是原生的比你还管用,
    你功能差难用,没人买单。
    工具类 app 必然要搞奇淫巧计去实现,要兼容的太多太多。
    要么就是在法律边缘系统不做的,留给你,比方李跳跳这种。

    多年前我就开发过长截图的 app ,一度销量不错,

    结果 Android 12 直接出个原生长截图,国产 ui 也上线这功能。
    由于是底层实现的,比你开个 app 方便不知道哪去了

    销量瞬间为 0
    little_cup
        14
    little_cup  
    OP
       360 天前   2
    @ekucn 是的呀,维护兼容性问题好多年,就像堂吉诃德挑战风车一样。
    liliclinton
        15
    liliclinton  
       359 天前
    @ekucn 那不然呢,他会做故意不做给第三方留着赚钱的空间吗?如果真的担心点子被抢走建议申请专利呢
    shangyu000
        16
    shangyu000  
       359 天前
    我看 Reddit 贴主说重新他重新安装手表 APP 就正常了,通知滤盒不行吗?我手上只有 A14 ,没法测试
    little_cup
        17
    little_cup  
    OP
       359 天前
    @shangyu000 我自己的手机上试不行。<del>悄悄怀疑他跳得厉害 Google 给他账号放了白名单</del>
    ISOtropy
        18
    ISOtropy  
       359 天前
    有解决办法吗 我现在也被手表的 sensitive notification 烦死了
    zhangeric
        19
    zhangeric  
       359 天前
    @ekucn 微软也一样啊,前一阵 winrar 还跟微软打官司,说是微软内置了打开 rar 文件的功能.
    Xushet
        20
    Xushet  
       358 天前 via Android
    相信国产魔改 ui 会解决这个问题的,等适配吧
    vsyf
        21
    vsyf  
       358 天前
    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
        22
    little_cup  
    OP
       358 天前   1
    @vsyf

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

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

    appops set com.catchingnow.np RECEIVE_SENSITIVE_NOTIFICATIONS allow

    如果要跑在手表上的话 com.catchingnow.np 换成你用的手表 app 的包名
    Cert
        23
    Cert  
       351 天前 via Android
    @JJYYPPCC 天呐,谢谢你分享这个资讯,我还觉得奇怪,为什么安卓的 doh3 不能更改为 opendns 及其其他 dns 。原来是被谷歌写死了,我原先还以为是我的手机出了问题……
    woyaojizhu8
        24
    woyaojizhu8  
       132 天前
    @ekucn 我是刷的第三方开源 rom ,可以理解为只有 android 本身的长截图,那个长截图很难用啊,可以说基本不可用,首先无法拖动选择要截取多少长度,然后在很多 app 界面没法用,然后界面长一些也没法用。找来找去也找不到好用的第三方 app 。甚至有几个 app 是专门用来手动拼接截图的(正因为知道系统级实现很困难,所以才有人做手动拼接截图的 app 吧),实在太麻烦了
    CrazyBoyFeng
        25
    CrazyBoyFeng  
       45 天前
    #21 虽然 RECEIVE_SENSITIVE_NOTIFICATIONS 这个权限的 protectionLevel 是 signature|role: https://android.googlesource.com/platform/frameworks/base/+/master/core/res/AndroidManifest.xml#8677
    意味着除了系统应用,被授(设备伴生)角色的应用也应获得权限。但经过我的实测仍然获取不到敏感通知。我还没有搞清楚为什么会出现这种差异。
    经过我的研究 RECEIVE_SENSITIVE_NOTIFICATIONS 这个权限只有以下两种情况能够获得:
    1. 预装在 /system 里且在特权白名单 /system/etc/permissions/privapp-permissions-*.xml 里声明的应用。
    2. 与系统 platform key 签名一致的应用。
    一个例子:预装了 windows phone link 的安卓设备可以读取验证码但是没预装的默认读取不了验证码。参考 https://www.ithome.com/0/842/770.htm
    little_cup
        26
    little_cup  
    OP
       44 天前
    @CrazyBoyFeng 只有在与其他硬件保持连接的时候才可以保持豁免
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2539 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:34 PVG 12:34 LAX 21:34 JFK 00:34
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86