V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
little_cup
V2EX  ›  Google

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

  •  1
     
  •   little_cup · 31 天前 · 3644 次点击

    我是通知滤盒的开发者,相信这个 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 条附言  ·  31 天前
    https://issuetracker.google.com/issues/354524657 这里是对应的 issue tracker
    23 条回复    2024-10-25 17:37:54 +08:00
    yanqian
        1
    yanqian  
       31 天前
    没用过新版,所以用户也无法更改这个设置么?
    osilinka
        2
    osilinka  
       31 天前
    中国不是有中国的特供版吗?
    JJYYPPCC
        3
    JJYYPPCC  
       31 天前   ❤️ 1
    想起来 Android 的 DOH3 就是写死 CF 和 Google 服务器,有点异曲同工
    感觉现在 Google 的好东西都争着上自家 Pixel ,对 AOSP 就有点不够意思了
    243205964
        4
    243205964  
       31 天前
    请问通知滤盒双十一会有优惠吗
    little_cup
        5
    little_cup  
    OP
       31 天前
    @yanqian 完全没有
    @osilinka 截图这个用户反馈的设备就是小米,不清楚是什么 ROM
    bkmi
        6
    bkmi  
       31 天前 via Android
    看 Google 处理后台剪切板权限,就是一刀砍,完全不给开发余地,恶心人。
    little_cup
        7
    little_cup  
    OP
       31 天前
    @bkmi 我的上上个 App 就是剪贴板的。
    TrembleBeforeMe
        8
    TrembleBeforeMe  
       31 天前
    这下不如 iOS 了?至少给了通知权限都能提醒
    seWindows
        9
    seWindows  
       31 天前
    谷歌应该是想办法后期好推广自己的,感觉 DIY 领域从 Android 2.1-4.0 需要 root 权限,到 Android 5.1-13 不再需要 root 权限也能实现大多数功能。到现在 Android 又需要 root 权限了
    yyzh
        10
    yyzh  
       31 天前 via Android
    @seWindows 国产 rom 应该会魔改的吧.
    不过现在国产手机应该只剩一加这一根独苗还支持解锁 bl 的了
    liliclinton
        11
    liliclinton  
       31 天前   ❤️ 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
       31 天前 via Android   ❤️ 2
    @liliclinton 然而包括我自己测试,在最新的正式版 Android 15 上,任何时候对 Notification Listener 拿到的通知内容都是经过了硬编码修改的。没有开启任何屏幕共享。
    系统通知栏里是可以看见通知内容的,就像什么都没发生一样。
    ekucn
        13
    ekucn  
       31 天前   ❤️ 2
    虽然我不是给楼主泼冷水,这些年我做开发来看,安卓或者 ios 开发工具类的 app ,是非常痛苦的事。

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

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

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

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

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

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

    appops set com.catchingnow.np RECEIVE_SENSITIVE_NOTIFICATIONS allow

    如果要跑在手表上的话 com.catchingnow.np 换成你用的手表 app 的包名
    Cert
        23
    Cert  
       22 天前 via Android
    @JJYYPPCC 天呐,谢谢你分享这个资讯,我还觉得奇怪,为什么安卓的 doh3 不能更改为 opendns 及其其他 dns 。原来是被谷歌写死了,我原先还以为是我的手机出了问题……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2800 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:26 · PVG 17:26 · LAX 01:26 · JFK 04:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.