sadfQED2
V2EX  ›  Android

目前 android11 如何给应用保活呢?

  •  2
     
  •   sadfQED2 · Feb 7, 2022 · 23300 views
    This topic created in 1554 days ago, the information mentioned may be changed or developed.

    首先,我不是应用的开发者。这个应用是我们公司内部用的 IM 软件,没有外部用户使用。在我手机上面只要一切到后台,十多分钟后就被杀了,然后我就收不到同事的消息了。头大

    手机:oneplus 7 pro 系统: OxygenOS 11

    解了 BL 锁

    Supplement 1  ·  Feb 7, 2022
    Tips:

    1 、手机 /system/app 分区的空间只剩 30MB ,所以没办法把 app 转成系统应用
    2 、我不是程序的开发人员,我只是一个用户
    3 、手机有 xp 框架,有 root ,有 magisk ,我知道安卓有冰箱,黑域这类东西,那么有没有反向操作的黑科技呢?
    69 replies    2022-02-16 09:13:02 +08:00
    heyufei1996
        1
    heyufei1996  
       Feb 7, 2022
    OxygenOS 不是可以给应用加锁么, 也没用么?
    chtcrack
        2
    chtcrack  
       Feb 7, 2022
    多任务栏中锁定,然后电池优化那里选择不优化,即可保活.
    Cheons
        3
    Cheons  
       Feb 7, 2022 via Android
    和开发老哥商量加入 oplus🤣
    Maskeney
        4
    Maskeney  
       Feb 7, 2022
    2L 说的对,其实不用加锁也可以,加锁只是为了一键关闭所有最近任务的时候保留,要是没有这习惯只要电池优化那里设置好就行
    sadfQED2
        5
    sadfQED2  
    OP
       Feb 7, 2022
    @chtcrack #2 已经选择不优化了,没用
    wsseo
        6
    wsseo  
       Feb 7, 2022
    很多 IM 都有这个问题。。。
    sadfQED2
        7
    sadfQED2  
    OP
       Feb 7, 2022
    @heyufei1996 #1 没用,只要锁屏十多分钟后就收不到消息了
    villivateur
        8
    villivateur  
       Feb 7, 2022 via Android   ❤️ 1
    @sadfQED2 收不到消息,为什么不考虑一下接入各大厂商的推送系统?
    WildCat
        9
    WildCat  
       Feb 7, 2022
    公司内部用的 IM 软件可不可以用 GCM 推送?
    NexTooo
        10
    NexTooo  
       Feb 7, 2022
    最近我的微信不切回去都要过几分钟才能收到消息…不知道是微信的问题还是鸿蒙限制了它
    3dwelcome
        11
    3dwelcome  
       Feb 7, 2022
    锁屏十多分钟后就收不到消息,应该是网络连接被强制断开了。

    这情况必须加电源锁,可是 IM 软件上电源锁,就意味着手机 wifi 永远不能真正休眠,会超级费电。
    chtcrack
        12
    chtcrack  
       Feb 7, 2022   ❤️ 1
    帮你搜索了一下,还不行就叫开发 app 的加个前台 service
    Android 8.0 之后-常用的保活方案

    1.开启一个前台 Service(可以加上,单独启用的话无法满足保活需求)
    2.Android 6.0+ 忽略电池优化开关(稍后会有代码)
    3.无障碍服务(只针对有用这个功能的 app ,如支付宝语音增强提醒用了它)
    4.应用自启动权限(最简单的方案是针对不同系统提供教程图片-让用户自己去打开)
    5.多任务列表窗口加锁(提供 GIF 教程图片-让用户自己去打开)
    6.多任务列表窗口隐藏 App(仅针对有这方面需求的 App)
    7.应用后台高耗电(仅针对 Vivo 手机)
    fstab
        13
    fstab  
       Feb 7, 2022
    @WildCat 你在想什么,这是在中国!
    mxT52CRuqR6o5
        14
    mxT52CRuqR6o5  
       Feb 7, 2022
    vmos 有个超级保活的功能,用 vpn 去保活的
    ww940521
        15
    ww940521  
       Feb 7, 2022
    为什么不遵守开发规范用推送呢?
    HankAviator
        16
    HankAviator  
       Feb 7, 2022 via Android
    解了 bl 锁不如就转成系统应用试试
    sadfQED2
        17
    sadfQED2  
    OP
       Feb 7, 2022
    @villivateur #8 我又不是研发,我咋知道为啥不接入啊

    @chtcrack #12 我也是 Android 开发,我知道各种保活骚操作,也知道为啥会收不到消息,但是我不是这个程序的开发啊

    @ww940521 #15 因为是不是开发

    @HankAviator #16 我试试看
    UserNameisNull
        18
    UserNameisNull  
       Feb 7, 2022
    @villivateur 最优解了,但是需要给公司 IM 的开发提需求。
    shyrock
        19
    shyrock  
       Feb 7, 2022   ❤️ 4
    明明是和则两利的事情,非得搞对抗。app 绞尽脑汁违背用户意愿非要一直占用资源,系统费心尽力违背 app 意愿强行杀灭 app 。。。为啥不用消息推送?
    mercury233
        20
    mercury233  
       Feb 7, 2022
    @shyrock 自己的命脉(实时推送)岂能握在他人(推送联盟 /魔改系统)手中,毕竟反不正当竞争难以落实
    sadfQED2
        21
    sadfQED2  
    OP
       Feb 7, 2022
    sadfQED2
        22
    sadfQED2  
    OP
       Feb 7, 2022
    @sadfQED2 #21

    @shyrock @villivateur 我盲猜肯定是接入了推送的,但是我用的海外版系统,消息推送没有覆盖
    ysc3839
        23
    ysc3839  
       Feb 7, 2022 via Android
    顺带提一下,MIUI 国内版,不管你怎么设置,在最近任务中划掉应用必杀后台,包括“前台服务”也会杀死。除非这个应用在白名单内(比如微信),此时只有关掉自启动后划掉才会被杀。
    但是如果开启了自启动,应用可以在被杀之后重新启动,即便是没有通知的后台服务也可以。典型案例有 Telegram 和小米穿戴。前者在开启了 Keep-Alive Service 选项后,被杀死之后会重新启动后台服务。后者在被杀死之后会重新启动前台服务,可以看到划掉后前台服务的通知消失,很快又显示出来了。可以考虑使用这种方案,让用户打开自启动开关,就能保活。
    但一加是否能使用这种方法我不知道。
    chanssl
        24
    chanssl  
       Feb 7, 2022
    1. 任务管理锁后台
    chanssl
        25
    chanssl  
       Feb 7, 2022
    2. 电量管理里面允许高耗电
    3. 启动管理允许自启动 /关联启动
    CharmingCheung
        26
    CharmingCheung  
       Feb 7, 2022
    用消息推送。国内就比较蛋疼,要接多家厂商(小米华为 ov 魅族),并且类似 vivo 有些 ROM 是默认没开通知权限的,要手动开。
    一加国内用 oppo 的 push ,国外版估计还是 gms 。
    保活要搭配互拉才有用,进程再怎么保活也有挂掉的时候,不拉起的话,该收不到还是收不到。
    Daming
        27
    Daming  
       Feb 7, 2022
    问题是推送,这不是保活干的事
    BeautifulSoap
        28
    BeautifulSoap  
       Feb 7, 2022   ❤️ 2
    LZ 你都解了 BL 了可以直接刷个 pixel experience 或 lineageos ,一劳永逸。一加氧 OS 虽然类原生,但杀后台杀到起飞。如果觉得刷机 app 重装麻烦的话,反正都解锁了,root 之后用 swift backup 备份所有 app 和 app 的数据,刷机后恢复下就行,效果比 IOS 还完美。

    https://download.pixelexperience.org/guacamole
    https://download.lineageos.org/guacamole
    sadfQED2
        29
    sadfQED2  
    OP
       Feb 7, 2022 via Android
    @CharmingCheung 是的,目测我们只接了国内的几家推送,我用的国外系统,所以没有接入,这时只要程序后台被杀就收不到消息了
    blueboyggh
        30
    blueboyggh  
       Feb 7, 2022 via Android
    我也有公司内部 im ,miui ,多任务界面锁定,自启动打开,省电优化改成无限制,实测可以实时收到通知
    sadfQED2
        31
    sadfQED2  
    OP
       Feb 7, 2022 via Android
    @BeautifulSoap 过了折腾的年纪了,还是官方系统稳定
    southsala
        32
    southsala  
       Feb 7, 2022
    必须接入厂商推送,否则无解,友盟极光之类的也要配置厂商推送。加了厂商推送,把应用各种权限打开,能做到微信的各种效果,但是微信和厂商有合作,安装后默认就开的各种权限
    clf
        34
    clf  
       Feb 7, 2022
    如果已经 root 了,有一个模块叫做进程锁。强悍到你锁定某个 app 后,只要你打开在用,比如 QQ 音乐在放歌,你把 app 卸载了,也照样还在放歌,除非你解锁了。
    66beta
        35
    66beta  
       Feb 7, 2022
    一般来说电量优化选“不优化”就完事了

    大氢赶紧亡了吧,QQ 音乐都保不住后台,最密集的时候是连续 5 首歌都放不完整,怀疑人生
    shiganwuguo
        36
    shiganwuguo  
       Feb 7, 2022 via Android
    不用折腾了 没戏。 前人把韭菜都割死了,现在新入场的想收广播难如登天。
    Codelike
        37
    Codelike  
       Feb 7, 2022
    搞个通知栏
    daliusu
        38
    daliusu  
       Feb 7, 2022
    @66beta 不行的,游戏这种电源设置不优化+多任务上锁,该杀依旧杀,但是只要插根电源线就不杀了,感觉那设置就是个摆设
    kaedea
        39
    kaedea  
       Feb 7, 2022 via Android
    退后台后播放空音频保持前台优先级
    sadfQED2
        40
    sadfQED2  
    OP
       Feb 7, 2022
    @HankAviator #16 失败,手机厂商给 /system 分区只留了 30 多 M 的空间,不够放新应用进去了
    xuanbg
        41
    xuanbg  
       Feb 7, 2022
    息屏收不到消息的解决办法不是保活,你看下微信怎么做的就明白了。
    sadfQED2
        42
    sadfQED2  
    OP
       Feb 7, 2022
    @ccloudk #33 apk 装上了,但是应用不会注册 mipush ,项目 wiki 里面说要装 magiks 或者 xp 框架伪装成 MIUI ,然鹅 xp 和 magisk 项目看了下原理,瞎 jb 改系统变量总感觉可能把系统搞崩溃,老了,不想瞎折腾了,刷机挺累的
    sadfQED2
        43
    sadfQED2  
    OP
       Feb 7, 2022
    @clf #34 是 xp 模块吧,我装上了,看描述完美符合我的需求,就是不知道效果如何了,用一段时间试试
    yu13n
        44
    yu13n  
       Feb 7, 2022
    westlinkin
        45
    westlinkin  
       Feb 7, 2022
    按照这里的设置一下 https://dontkillmyapp.com/
    sinyu1012
        46
    sinyu1012  
       Feb 7, 2022   ❤️ 1
    https://github.com/sinyu1012/AndroidKeepAlive

    之前写过的一些 Android 保活实践
    shxxy
        47
    shxxy  
       Feb 7, 2022 via Android
    @ysc3839 小米穿戴划掉了就挂了手表收不到任何消息通知。我的方法是锁上,然后在 thanox 里设置打开“在最近任务里强制隐藏”
    Jxh
        48
    Jxh  
       Feb 7, 2022
    oppo 这个系统接入推送得软著+上架 oppo 商店。我公司内部的 IM 也没推送。有机会让开发搞点奇淫巧计保活吧。
    abc612008
        49
    abc612008  
       Feb 7, 2022
    @ww940521
    @shyrock
    因为 FCM 被 ban 了,国内也没有通用的推送平台。某些推送联盟也一样的毒瘤。
    对了,国内绝大多数的应用商店都要求软件著作权证书,部分还要求必须有营业执照。
    humbass
        50
    humbass  
       Feb 7, 2022
    不怕耗电的话,直接挂前台应用不就可以了。
    springz
        51
    springz  
       Feb 7, 2022
    问问同事的小米有没有问题,如果没有问题,直接安装 MiPushFramework 。一般情况下 App 开发者都会添加 MIUI 的系统级推送。
    silymore
        52
    silymore  
       Feb 7, 2022 via iPhone
    换 ios
    qfpZ2KhNsF23UGbN
        53
    qfpZ2KhNsF23UGbN  
       Feb 7, 2022 via Android
    有 xp 的话就好办,写个模块,在其他进程检测你的 app 服务,不在运行,就把它启动
    kokutou
        54
    kokutou  
       Feb 7, 2022 via Android
    解锁刷个系统。。。
    国内系统杀后台很严重的。
    Tink
        55
    Tink  
    PRO
       Feb 7, 2022 via Android
    不优化还不能保活?
    learningman
        56
    learningman  
       Feb 7, 2022
    你都有 magisk 了,做个 magisk 模块不就好。。。
    felixwang
        57
    felixwang  
       Feb 8, 2022
    同 2 楼
    sadfQED2
        58
    sadfQED2  
    OP
       Feb 8, 2022
    @springz #51
    @ccloudk #33 研究了好久,装上 mipush 后程序并不会注册 mipush ,然后又装了 mipush 的 xp fake 插件,但是依旧不注册,又尝试装 magisk 的 fake 插件,发现根本装不上。看了一下项目提交时间,xp 插件和 magisk 插件都已经 2 年多没更新了,感觉在最新的 android 11 上面已经没用了
    h3n6Qx2UB9a4g477
        59
    h3n6Qx2UB9a4g477  
       Feb 8, 2022
    MiPushFramework 的伪装机型可以用 MagiskHideConfig 修改,

    增加 /修改 几项 Prop 值:

    ro.miui.ui.version.name = V125
    ro.miui.ui.version.code = 12
    ro.miui.version.code_time = 1616601600
    ro.product.manufacturer = Xiaomi
    ro.product.brand = Xiaomi
    ro.product.name = Xiaomi
    mostkia
        60
    mostkia  
       Feb 8, 2022
    现在的手机连 10 年前的 wm 系统都不如,人家至少可以多线程,甚至还有任务管理器,不是说谷歌的系统差,而是国内的人太”聪明“了,什么东西本土化了都能玩出花来,吧潜在价值榨的干干净净,各种后台驻留,窃听隐私推送广告甚至卖钱,以至于现在的手机厂商居然把杀后台作为卖点,很难想象一台手机现在动不动 8g 内存,连一个后台都不能保活,不知道的我还以为我在用功能机
    bclerdx
        61
    bclerdx  
       Feb 12, 2022
    @flyz 中国怎么了?全球主流国家都可用 GCM ,难道就中国非要自己另造轮子么?
    bclerdx
        62
    bclerdx  
       Feb 12, 2022
    @mercury233 为何难以落实反不正当竞争?为了一己之私还是假惺惺?究其根本仍是思想问题?利益问题?
    bclerdx
        63
    bclerdx  
       Feb 12, 2022
    @shyrock 同意+1 ,App 就应该遵守操作系统的设计规范。不遵守系统的操作规范,被团灭也属正常。
    bclerdx
        64
    bclerdx  
       Feb 12, 2022
    @ysc3839 一加的 Colors 也有自启动选项设置的。
    FATEQiang
        65
    FATEQiang  
       Feb 15, 2022
    @sadfQED2 双进程机制:一个核心应用放在这个 30M 空间中,做成系统应用,提高应用进程优先权,功能做只需要保活的核心功能,如推送的连接之类的;然后需要做其他业务的,拉起非系统应用的业务应用(广播可能无法做静态广播,所以拉不起来,那就尝试是否可以通过 startActivity 打开暴露的组件,从而拉起应用)
    FATEQiang
        66
    FATEQiang  
       Feb 15, 2022
    @FATEQiang 两个 app ,一个系统(保活业务),一个非系统(普通业务)
    sadfQED2
        67
    sadfQED2  
    OP
       Feb 15, 2022 via Android
    @FATEQiang 大哥,注意审题啊,不是应用的研发
    FATEQiang
        68
    FATEQiang  
       Feb 16, 2022
    @sadfQED2 你看懂上面的意思了?“这个应用是我们公司内部用的 IM 软件,没有外部用户使用。在我手机上面只要一切到后台,十多分钟后就被杀了,然后我就收不到同事的消息了”
    FATEQiang
        69
    FATEQiang  
       Feb 16, 2022
    算了,当我没有评论吧,很遗憾,v2 没有删除评论的功能,以后还是少评论了,不然就变成微博了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1037 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 174ms · UTC 19:26 · PVG 03:26 · LAX 12:26 · JFK 15:26
    ♥ Do have faith in what you're doing.