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

内网环境下有什么安卓手机发通知的机制吗

  •  
  •   msmmbl · 2023-11-22 17:00:37 +08:00 · 8264 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有一个项目,用在纯内网环境的安卓手机 App 的,有什么办法能让手机 App 能在息屏后仍能收到消息并发出通知不。

    自建了一个服务,手机 App 用持久化通知保活,和服务器保持长链接,完了息屏后就断开了。

    在外网有很多推送服务,咱在内网都用不上,有啥办法不
    16 条回复    2023-11-22 23:32:23 +08:00
    Masoud2023
        1
    Masoud2023  
       2023-11-22 17:03:03 +08:00
    那解决息屏断开的问题不就行了?想办法做保活?
    euph
        2
    euph  
       2023-11-22 17:08:39 +08:00 via Android
    gotify 可以部署到内网吧,应该可以,没试过
    Donaldo
        3
    Donaldo  
       2023-11-22 17:13:11 +08:00
    你说的持久化通知是不是“前台服务”?有没有尝试过用 WAKELOCK
    ho121
        4
    ho121  
       2023-11-22 17:14:20 +08:00 via Android
    电池优化关掉
    caomingjun
        5
    caomingjun  
       2023-11-22 17:14:45 +08:00 via Android
    自建 ntfy
    qluuu
        6
    qluuu  
       2023-11-22 17:19:44 +08:00
    1 、启动前台服务(类似音乐播放器)
    2 、想办法保活(白名单,刷机进入系统级应用、或者各种黑科技)
    msmmbl
        7
    msmmbl  
    OP
       2023-11-22 17:28:53 +08:00
    @Donaldo #3 是”前台服务“,在亮屏期间及时后台,可以一直保持连接不断。WAKELOCK 是不是就是让手机不休眠,这样会不会耗电很快
    msmmbl
        8
    msmmbl  
    OP
       2023-11-22 17:30:34 +08:00
    @qluuu #6 前台服务咱用了。您说的各种黑科技是不是在最新的手机上可能性越来越小了。
    Kinnice
        9
    Kinnice  
       2023-11-22 17:32:19 +08:00
    安卓手机可控的话,root 后把该应用放到系统应用可保活。
    gam2046
        10
    gam2046  
       2023-11-22 17:34:53 +08:00
    msmmbl
        11
    msmmbl  
    OP
       2023-11-22 17:38:03 +08:00
    @Kinnice 不大可控。太久没搞安卓开发了。保活我觉得问题不大,测试下来只要启动前台服务就行。就是息屏之后应用会断开连接,亮屏后也是会再次连上的。是不是得搞一个定时唤醒设备去收下消息之类的……
    Donaldo
        12
    Donaldo  
       2023-11-22 17:42:57 +08:00
    @msmmbl #8 参考一下 https://developer.android.com/training/scheduling/wakelock?hl=zh-cn#cpu
    确实是你说的那个意思,但如果只是保持长链接的话,电池优化关掉应该就 ok 了吧?也不行么
    msmmbl
        13
    msmmbl  
    OP
       2023-11-22 17:47:48 +08:00
    @Donaldo 谢谢,“电池优化”,还没有测试。目前只试了通过前台消息,能够亮屏状态下,都不断开链接,息屏后等待 4 、5 秒后就断开,然后亮屏后恢复。“电池优化”后面我试了回复哈。
    shily
        14
    shily  
       2023-11-22 18:19:40 +08:00
    用 WorkManager 吧,定期唤醒,查询一下服务器是否有新消息;优点是省电,缺点是没有那么的及时;
    msmmbl
        15
    msmmbl  
    OP
       2023-11-22 18:32:13 +08:00 via Android
    @shily 嗯,谢谢。我想也是得定期唤醒检查,不然感觉一直不让手机睡着太不厚道了。
    listenerri
        16
    listenerri  
       2023-11-22 23:32:23 +08:00
    要不先确认下是不是息屏后网络连接( wifi ?)断开了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2871 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:58 · PVG 14:58 · LAX 22:58 · JFK 01:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.