• Android开发中要如何才能实现在休眠状态下还能保持与服务器的网络连接?
  • 发布于 1周前
  • 45 热度
    7 评论
关于 Android 原生开发的一些技术咨询。最近遇到一些技术问题,始终难以解决,想咨询请教一下各位大佬:
  1 、Android app 中要采用什么技术才能实现在休眠状态下还能保持与服务器的网络连接,并能实时接收服务器发送的消息。类似于微信和 QQ 这样能够在休眠状态下接收消息。 目前,Android 系统为了控制功耗,休眠后,CPU 只会隔一段时间唤醒一次,这样无法保证消息接收的实时性。

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

本人技术一般,经验较少,请教一下各位大佬。
用户评论
  • 撕烂的回忆
  • 1 现在没有方案了,直接告诉提需求的人现在系统层面不能实现了,如果非要实现,弹窗提示用户设置不限制后台运行,不知道有没有判断后台电量优化的接口,从网上查下,如果没有,弹窗提示都不用做了。
    2 直接和提需求的人说做不了,前台服务必须有图标,系统限制的,应用控制不了。
  • 2025/3/6 8:42:00 [ 0 ] [ 0 ] 回复
  • 颠沛流离
  • 目前不考虑黑科技或白名单的情况,只剩下多渠道推送这一条路子了。 意思就是小米手机用小米推送,华为手机用华为推送。他们自家的推送服务会保证送达律的,不管你 app 是否存活。我记得各大三方推送 sdk 都支持多渠道,你配置上去估计就行了。


    推送这并不属于 app 后台常驻功能,而是系统级别控制的,所以需要常驻后台做见不得人的操作的话依赖推送也是没法完全解决的。要实现这种功能,用常驻通知的前台服务加上引导用户开启保活功能(电量优化啥的)才是正路……

    补充一点,推送的消息必须是通知类消息才会保证送达律,几乎百分百,所以要求用户允许 app 推送消息,用户禁止了就没则了。那种自定义消息如果 app 被杀了通常是收不到的。

  • 2025/3/6 8:36:00 [ 0 ] [ 0 ] 回复
  • 轻描淡写
  • 哈哈,十几年前被产品逼迫加班搞过这功能。真的是十八般武艺全用上,除了在 Google 那台 nexus 好使,在国产机上面无法保证任何保活。后面了解到,手机厂商应该有类似于白名单的后台机制的,小厂 APP 就别想这个了。各个厂商都为微信 QQ 这些开绿灯。然后就摊牌放弃了,我自己内心也厌恶做这种功能。
  • 2025/3/6 8:25:00 [ 0 ] [ 0 ] 回复