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

技术问题,咨询各位大佬。

  •  
  •   DearM · 19 小时 3 分钟前 · 1867 次点击

    关于 Android 原生开发的一些技术咨询

    最近遇到一些技术问题,始终难以解决,想咨询请教一下各位大佬;

      1 、Android app 中要采用什么技术才能实现在休眠状态下还能保持与服务器的网络连接,并能实时接收服务器发送的消息。类似于微信和 QQ 这样能够在休眠状态下接收消息。

      目前,Android 系统为了控制功耗,休眠后,CPU 只会隔一段时间唤醒一次,这样无法保证消息接收的实时性。

      2 、Android 中,前台服务的通知栏图标如何去掉?也就是启动前台服务的时候,不用生成令人讨厌的通知栏信息。

      为了确保应用服务不被系统杀死,我通常使用前台服务,这样会有一个令人厌烦的通知栏信息。想咨询一下如何实现一个后台常驻的服务,不会被系统回收,且用户无感。除了使用守护进程,相互拉。还有其他办法吗?类似于实现微信 QQ 这样的效果,后台服务一般不被系统回收。能够在后台保活。

    本人技术一般,经验较少,请教一下各位大佬。

    22 条回复    2025-03-06 11:58:13 +08:00
    vincentWdp
        1
    vincentWdp  
       18 小时 53 分钟前
    不太了解 android, 但是建议遵守相关准则
    flyqie
        2
    flyqie  
       18 小时 50 分钟前 via Android
    保活有专门的方案提供商。

    并且因为 aosp 的碎片生态,还需要对不同系统做提示让用户操作。

    最后,有些应用是倒逼厂商加白名单的...
    hahasong
        3
    hahasong  
       18 小时 49 分钟前
    就是这种坏规矩的太多了,搞的安卓像修罗场,白白耗电
    palxie
        4
    palxie  
       18 小时 36 分钟前
    按照规范来, 就是要前台通知
    jhdxr
        5
    jhdxr  
       17 小时 54 分钟前
    你猜休眠状态为啥叫休眠状态?
    joyhub2140
        6
    joyhub2140  
       17 小时 38 分钟前
    哈哈,十几年前被产品逼迫加班搞过这功能。

    真的是十八般武艺全用上,除了在 Google 那台 nexus 好使,在国产机上面无法保证任何保活。

    后面了解到,手机厂商应该有类似于白名单的后台机制的,小厂 APP 就别想这个了。

    各个厂商都为微信 QQ 这些开绿灯。

    然后就摊牌放弃了,我自己内心也厌恶做这种功能。
    loopq
        7
    loopq  
       15 小时 13 分钟前
    解决掉提出这个想法的人,让他按照 Google 官方的准则来实现。
    RightHand
        8
    RightHand  
       14 小时 57 分钟前 via Android
    收购 Google 想干嘛干嘛,拉屎都行
    humbass
        9
    humbass  
       14 小时 3 分钟前
    如果是物联网工程机,随便怎么搞都行

    如果是给普通人手机上使用的,那就死了这条心。
    SDYY
        10
    SDYY  
       13 小时 3 分钟前
    几年前对接过 JPush 来推送, 不知道现在怎么样了。
    little_cup
        11
    little_cup  
       12 小时 49 分钟前
    首先需要告诉提需求的老板/产品,这个不是技术问题。
    a0000
        12
    a0000  
       11 小时 13 分钟前 via Android
    1 现在没有方案了,直接告诉提需求的人现在系统层面不能实现了,如果非要实现,弹窗提示用户设置不限制后台运行,不知道有没有判断后台电量优化的接口,从网上查下,如果没有,弹窗提示都不用做了
    2 直接和提需求的人说做不了,前台服务必须有图标,系统限制的,应用控制不了
    jeesk
        13
    jeesk  
       11 小时 5 分钟前 via Android
    花钱就行, 最近发现拼多多在 color os 默认获取到悬浮窗权限。

    有钱能使磨推鬼,真是绝了
    AItsuki
        14
    AItsuki  
       10 小时 50 分钟前 via iPhone
    目前不考虑黑科技或白名单的情况,只剩下多渠道推送这一条路子了。 意思就是小米手机用小米推送,华为手机用华为推送。他们自家的推送服务会保证送达律的,不管你 app 是否存活。我记得各大三方推送 sdk 都支持多渠道,你配置上去估计就行了。
    推送这并不属于 app 后台常驻功能,而是系统级别控制的,所以需要常驻后台做见不得人的操作的话依赖推送也是没法完全解决的。
    要实现这种功能,用常驻通知的前台服务加上引导用户开启保活功能(电量优化啥的)才是正路……
    AItsuki
        15
    AItsuki  
       10 小时 46 分钟前 via iPhone
    补充一点,推送的消息必须是通知类消息才会保证送达律,几乎百分百,所以要求用户允许 app 推送消息,用户禁止了就没则了。那种自定义消息如果 app 被杀了通常是收不到的。
    wnpllrzodiac
        16
    wnpllrzodiac  
       5 小时 30 分钟前 via Android
    推送和保活,不光是计数文体。统一推送平台多好,省电又环保
    qxmqh
        17
    qxmqh  
       3 小时 29 分钟前
    你这一条用户无感,基本上就不可能了,引导用户开启电量,后台服务,各种一通操作之后,估计还是有各种问题,最保险的是加上用户手机一直充电,保持电量充足。
    dododada
        18
    dododada  
       3 小时 26 分钟前
    保活这个事儿,即使能做也没人给你做了,这不是技术的问题,是法律法规的事儿,做得好可能要进去的
    YSHANY
        19
    YSHANY  
       3 小时 21 分钟前
    不推荐的做法:
    1 、使用唤醒锁防止手机休眠,让用户开启应用白名单、对应应用电池优化关闭,手机可能会提示应用耗电大,不推荐
    2 、Google 规范要求前台服务要有通知栏,更改 target version 为较低的版本也许能解决,不推荐
    推荐:
    1 、接入手机厂商推送通道,走推送
    sir283
        20
    sir283  
       3 小时 17 分钟前 via Android
    1 、内置到系统里面,就可以了。
    2 、第三方不行,国产系统第三方更不行。
    3 、对接所有定制系统的消息 push ,但是也需要引导用户点开通知权限。
    4 、学拼多多那样,挖漏洞,提权。
    Dongxiaohao
        21
    Dongxiaohao  
       1 小时 27 分钟前
    让我想到曾经为了保活的应用,返回桌面用户以为关了,其实有一个 1px 的悬浮窗😂
    r3562939
        22
    r3562939  
       26 分钟前
    不经用户同意不行吧,引导用户加入一键清理白名单、允许高耗电、允许自启动可能在某些机型上能做到。
    如果真能无感常驻,那不就能做到偷偷上传文件,定位,监控了吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3633 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 04:25 · PVG 12:25 · LAX 20:25 · JFK 23:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.