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

Android 的 doze mode 严重影响接收推送消息。

  •  
  •   zhaotian5868 · 2020-03-10 14:47:01 +08:00 · 14093 次点击
    这是一个创建于 1749 天前的主题,其中的信息可能已经有所发展或是发生改变。
    去年换了一加 7Pro 作为主力机,刷了氧 OS,日常使用 GCM 推送机制优化后台节省电量,体验如丝般顺滑,非常满意。但是没高兴几天,问题就来了。

    开始的时候没注意到推送问题,后来晚上有一天忘记充电,注意到包括 Gmail 在内的一堆应用在早上解锁后立刻弹出一堆消息,很多是睡觉就应该推送而没有提醒的。但是也有一些应用例如知乎却能正常的实时推送。

    立刻去查看系统中电源优化等设置,取消各种电池优化后依然没用,锁屏五分钟后,就收不到消息了。

    查看后台的 google play service,也没问题,有知乎的推送记录。

    但是我注意到了推送有一个 priority, 只有 priority 是 High 的情况下,在锁屏后能实时推送,而 gmail 客户端是 Unknown,知乎是 High。
    https://imgchr.com/i/8PyxXR

    查了很多资料得知是 Android 的 doze mode 在作怪, 在手机未连接充电线并锁屏超过若干分钟后(未验证,一加 7p 是五分钟),手机进入 doze mode,系统为节省电量只给用户推送 High priority 的应用消息。

    没错,谷歌认为 Email 这种通讯方式不是实时的,并且用户没有权限自行提高或降低某个应用推送的 Priority。

    如果想在锁屏下实时接收 gmail 客户端以及其他 priority 是 Unknown 和 Normal 应用的推送消息,需要利用 adb 命令关闭 doze mode: adb shell dumpsys deviceidle disable

    谷歌出 doze mode 的初衷是好的,但用几天下来并没有感受到关闭和开启 doze mode 在续航上的差异。
    44 条回复    2023-08-19 20:43:36 +08:00
    vk42
        1
    vk42  
       2020-03-10 14:52:15 +08:00 via Android
    没觉得有什么问题啊,email 设计就不是实时通讯,而且感觉实时通知反而很烦人而且分心。开启 gmail 只通知重要邮件觉得挺不错
    dying4death
        2
    dying4death  
       2020-03-10 14:58:40 +08:00
    我也觉得没问题,睡觉就睡觉,真有急事不打电话?
    zhaotian5868
        3
    zhaotian5868  
    OP
       2020-03-10 15:02:28 +08:00   ❤️ 1
    @vk42 我觉得 email 这种应该是实时推送,可以不处理,但是需要及时推送,gmail 客户端即便设置了重要邮件也不会推的,outlook 客户端似乎可以。其次,发现这个问题还有一个原因是我在玩一个氪金手游,自己城堡被打的时候游戏会第一时间推送消息,但是这个 app 的推送优先级并不是 High。。我觉得谷歌应该给用户一个选项,可以自己调节推送的 priority 才对。
    zhaotian5868
        4
    zhaotian5868  
    OP
       2020-03-10 15:05:33 +08:00
    @dying4death 不只是 gmail, 国外很多即时通讯工具应用也是不推送的。
    lwp2070809
        5
    lwp2070809  
       2020-03-10 15:20:40 +08:00
    email 确实没有被分类在 instant messaging 中, 不过我赞同楼主的意见, 我得有选择的权利
    Biggoldfish
        6
    Biggoldfish  
       2020-03-10 15:20:50 +08:00
    所以这是 Gmail 的 FCM message priority 设置的问题,而非 Android doze mode 的问题。LZ 的手机上在 doze 下 high priority FCM message 实时推送,normal priority message 延迟推送,完全符合 doze mode 的设计啊。
    至于 Gmail 是否该设置成 high priority,则是另一个话题了。
    vk42
        7
    vk42  
       2020-03-10 15:21:39 +08:00 via Android
    @zhaotian5868 使用习惯不同吧。不过说到 outlook,想起来 gmail 对 exchange 帐号使用体验极差,明显是定时轮询方式,而且每次轮询的时候还会出来个通知……
    zhaotian5868
        8
    zhaotian5868  
    OP
       2020-03-10 15:27:02 +08:00
    @Biggoldfish 是的,你这样理解也没错。但是目前没有给用户权限调节 priority,解决的方法只有关闭 doze mode。其次从我目前的日常使用来看,doze mode 并没有显著提高手机续航。最后,白天在外面装口袋各种传感器在活跃的时候锁屏超过五分钟也会进入 doze mode,我觉得是非常不合理的。综上,我觉得是 doze mode 的问题。
    zhaotian5868
        9
    zhaotian5868  
    OP
       2020-03-10 15:29:16 +08:00
    @vk42 对的,国外很多客户是需要用 email 及时交流的,即时推送非常重要,即便不会立马去着手处理。
    Bunnyranch
        10
    Bunnyranch  
       2020-03-10 16:12:03 +08:00
    email 在不少地区其实就是用流量的短信,实时交流完全可以,还能贴附件。现在谁还短信啊 1 毛钱一条。。
    w88975
        11
    w88975  
       2020-03-10 17:40:10 +08:00
    我的 1 加 7 也是一样的
    gmail 的拉取邮件不是实时的,经常收取验证码很头疼
    mgrddsj
        12
    mgrddsj  
       2020-03-10 17:57:33 +08:00 via Android
    我的一加 5 在 Android 7.0 的时候,一加实验室里面有个实验性功能是可以设置一个 app 的通知的优先级的,后来系统更新之后就没了,也没添加到正式功能里面。
    mxalbert1996
        13
    mxalbert1996  
       2020-03-10 17:59:20 +08:00 via Android
    https://support.google.com/nexus/answer/7015477
    这种东西搜索一下不就解决了?
    cvbnt
        14
    cvbnt  
       2020-03-10 18:11:09 +08:00 via Android
    为此我放弃了 Gmail 客户端,改用 smtp 第三方邮箱登录
    zhaotian5868
        15
    zhaotian5868  
    OP
       2020-03-10 18:17:39 +08:00
    @mxalbert1996 请认真读题:
    “立刻去查看系统中电源优化等设置,取消各种电池优化后依然没用,锁屏五分钟后,就收不到消息了。”
    zhaotian5868
        16
    zhaotian5868  
    OP
       2020-03-10 18:20:49 +08:00
    @cvbnt 不止是 gmail,很多其他软件一样收不到通知,只能关闭 doze mode。
    20015jjw
        17
    20015jjw  
       2020-03-10 19:37:38 +08:00 via Android
    px 用户没体验到延迟
    xuhaoyangx
        18
    xuhaoyangx  
       2020-03-10 22:02:52 +08:00
    你不知道华为 EMUI10 有多恶心。关闭电池优化 ,关闭 doze,都能在锁屏 20s 内 或 应用切屏到 HOME,给你阻断网络访问。有的老机器,甚至出现,返回 APP 后,继续阻断网络的 BUG
    mxalbert1996
        19
    mxalbert1996  
       2020-03-10 22:56:34 +08:00 via Android
    @zhaotian5868 那这就是第三方系统的问题了,原生系统这个设置是可以控制 Doze mode 的。
    noqwerty
        20
    noqwerty  
       2020-03-10 23:50:48 +08:00
    我一直以为是氧 OS 的锅……换了 treskmod 之后推送一直全部正常,之前用 OOS 也是各种延迟推送
    moname
        21
    moname  
       2020-03-11 00:14:21 +08:00 via iPhone
    华为 mate20 也是这样的。WiFi 锁屏 2 分钟后微信就收不到信息,每隔 10 分钟拉取一次。。还有个问题蛮严重的,解锁后进入微信他不是立即收取信息,而是感觉无网络,屏幕下方就会提示 无法连接网络,啪啪啪之类的。要等很久他才会收取信息。。。

    以上问题,如果改用 4g,一切正常。
    NSAgold
        22
    NSAgold  
       2020-03-11 00:36:29 +08:00 via Android
    一加的手机管家之类的地方看看。。应该不是 doze 问题。
    魔趣 /miui doze 下 mipush/gcm 正常
    Kobayashi
        23
    Kobayashi  
       2020-03-11 00:50:05 +08:00 via Android
    总感觉像是一加优化过渡。
    zhaotian5868
        24
    zhaotian5868  
    OP
       2020-03-11 09:17:53 +08:00
    @Kobayashi 其他手机也有,国外论坛上三星也很多例。暂时不知道是 rom 还是安卓通病
    zhaotian5868
        25
    zhaotian5868  
    OP
       2020-03-11 09:18:16 +08:00
    @NSAgold 能关的电源优化选项都关掉了
    wtdd
        26
    wtdd  
       2020-03-11 10:46:17 +08:00
    @xuhaoyangx 小米也差不多,连微信放后台都一样干掉
    clouds
        27
    clouds  
       2020-03-11 12:39:51 +08:00 via iPhone
    这个问题一直无解吧,我有印象的,当时用一加三 安卓 5 还是安卓 6 就有这个问题了。
    zhaotian5868
        28
    zhaotian5868  
    OP
       2020-03-11 13:12:20 +08:00
    @clouds 关了 doze mode 就可以了 现在用着很舒服了
    zhaotian5868
        29
    zhaotian5868  
    OP
       2020-03-11 13:13:25 +08:00
    @moname 这个无网络是不是电池优化过度了? 我还没遇到过这个情况,那可以查看是否允许后台联网之类的开关。
    clwool
        30
    clwool  
       2020-03-11 17:16:37 +08:00 via iPhone
    换苹果
    ljl024
        31
    ljl024  
       2020-03-12 00:31:17 +08:00
    一加的系统比较特殊,有个高级优化,在设置-电池-电池优化-右上角菜单-高级优化,把睡眠待机优化关掉应该就不会出现解锁弹一堆通知的情况了。也要考虑一下你加速服务在后台网络链接的可用性,可以考虑给它加个锁、关闭电池优化。
    zhaotian5868
        32
    zhaotian5868  
    OP
       2020-03-12 09:17:37 +08:00
    @ljl024 能关的全关了。这个特性影响的不只是一加,国外三星,索尼,诺基亚和谷歌亲儿子都有出现过。
    zhaotian5868
        33
    zhaotian5868  
    OP
       2020-03-12 16:08:19 +08:00
    @clwool 什么时候 iPhone 上了 type c 什么时候换苹果。mbp ipad pro 全上了 type c, 再带一个 lighting 接口的数据线想想都恶心。
    tomqin
        34
    tomqin  
       2020-03-12 21:11:58 +08:00 via Android
    是的,我看了一下我的 pixel 也是这样,国外给出的解决办法是在 outlook 里面加一个 gmail 账户😂
    clouds
        35
    clouds  
       2020-03-13 03:02:00 +08:00 via Android
    @zhaotian5868 请问如何关闭 doze mode ?安卓 10
    zhaotian5868
        36
    zhaotian5868  
    OP
       2020-03-13 09:19:20 +08:00
    @clouds 文中有写
    zhaotian5868
        37
    zhaotian5868  
    OP
       2020-03-13 09:19:53 +08:00
    @tomqin 那就应该确认不是我定制系统的问题,是安卓通病了。
    xieyingli
        38
    xieyingli  
       2020-03-14 13:31:06 +08:00 via Android
    确实比较尴尬…
    clwool
        39
    clwool  
       2020-03-14 19:04:34 +08:00 via iPhone
    @zhaotian5868 现在安卓的问题,我情愿办公室家里买多一根线放着,也不用带啊。移动电源买无线的,耳机手机就可以用。
    clouds
        40
    clouds  
       2020-05-02 01:49:49 +08:00 via Android
    @zhaotian5868 请问,您在使用一加氧 OS 的时候,有没有实现过下列操作:关闭 doze mode,同时关闭 app 后台(多任务列表滑掉或者别的方式),同时又能够及时收到推送的。只看那些支持 fcm 的 app,比如 gmail 之类的。
    zhaotian5868
        41
    zhaotian5868  
    OP
       2020-05-12 14:01:50 +08:00 via Android
    @clouds 可以的,关闭 doze mode 就可以正常收到消息,不需将软件挂后台。
    hmczj
        42
    hmczj  
       2023-06-19 11:44:01 +08:00
    通过楼主的思路解决了我三星国行系统的 fcm 推送问题,特来回复感谢。
    falseyuyuyu
        43
    falseyuyuyu  
       2023-07-27 18:48:15 +08:00
    请教一下 楼主 这个命令是永久关闭还是重启后失效
    zhaotian5868
        44
    zhaotian5868  
    OP
       2023-08-19 20:43:36 +08:00
    @falseyuyuyu 重启失效
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3667 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 102ms · UTC 10:38 · PVG 18:38 · LAX 02:38 · JFK 05:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.