技术问题,咨询各位大佬。
关于 Android 原生开发的一些技术咨询
最近遇到一些技术问题,始终难以解决,想咨询请教一下各位大佬;
1 、Android app 中要采用什么技术才能实现在休眠状态下还能保持与服务器的网络连接,并能实时接收服务器发送的消息。类似于微信和 QQ 这样能够在休眠状态下接收消息。
目前,Android 系统为了控制功耗,休眠后,CPU 只会隔一段时间唤醒一次,这样无法保证消息接收的实时性。
2 、Android 中,前台服务的通知栏图标如何去掉?也就是启动前台服务的时候,不用生成令人讨厌的通知栏信息。
为了确保应用服务不被系统杀死,我通常使用前台服务,这样会有一个令人厌烦的通知栏信息。想咨询一下如何实现一个后台常驻的服务,不会被系统回收,且用户无感。除了使用守护进程,相互拉。还有其他办法吗?类似于实现微信 QQ 这样的效果,后台服务一般不被系统回收。能够在后台保活。
本人技术一般,经验较少,请教一下各位大佬。
不太了解 android, 但是建议遵守相关准则
保活有专门的方案提供商。
并且因为 aosp 的碎片生态,还需要对不同系统做提示让用户操作。
最后,有些应用是倒逼厂商加白名单的...
就是这种坏规矩的太多了,搞的安卓像修罗场,白白耗电
按照规范来, 就是要前台通知
你猜休眠状态为啥叫休眠状态?
哈哈,十几年前被产品逼迫加班搞过这功能。
真的是十八般武艺全用上,除了在 Google 那台 nexus 好使,在国产机上面无法保证任何保活。
后面了解到,手机厂商应该有类似于白名单的后台机制的,小厂 APP 就别想这个了。
各个厂商都为微信 QQ 这些开绿灯。
然后就摊牌放弃了,我自己内心也厌恶做这种功能。
解决掉提出这个想法的人,让他按照 Google 官方的准则来实现。
收购 Google 想干嘛干嘛,拉屎都行
如果是物联网工程机,随便怎么搞都行
如果是给普通人手机上使用的,那就死了这条心。
几年前对接过 JPush 来推送, 不知道现在怎么样了。
首先需要告诉提需求的老板/产品,这个不是技术问题。
1 现在没有方案了,直接告诉提需求的人现在系统层面不能实现了,如果非要实现,弹窗提示用户设置不限制后台运行,不知道有没有判断后台电量优化的接口,从网上查下,如果没有,弹窗提示都不用做了
2 直接和提需求的人说做不了,前台服务必须有图标,系统限制的,应用控制不了
花钱就行, 最近发现拼多多在 color os 默认获取到悬浮窗权限。
有钱能使磨推鬼,真是绝了
目前不考虑黑科技或白名单的情况,只剩下多渠道推送这一条路子了。 意思就是小米手机用小米推送,华为手机用华为推送。他们自家的推送服务会保证送达律的,不管你 app 是否存活。我记得各大三方推送 sdk 都支持多渠道,你配置上去估计就行了。
推送这并不属于 app 后台常驻功能,而是系统级别控制的,所以需要常驻后台做见不得人的操作的话依赖推送也是没法完全解决的。
要实现这种功能,用常驻通知的前台服务加上引导用户开启保活功能(电量优化啥的)才是正路……
补充一点,推送的消息必须是通知类消息才会保证送达律,几乎百分百,所以要求用户允许 app 推送消息,用户禁止了就没则了。那种自定义消息如果 app 被杀了通常是收不到的。
推送和保活,不光是计数文体。统一推送平台多好,省电又环保
你这一条用户无感,基本上就不可能了,引导用户开启电量,后台服务,各种一通操作之后,估计还是有各种问题,最保险的是加上用户手机一直充电,保持电量充足。
保活这个事儿,即使能做也没人给你做了,这不是技术的问题,是法律法规的事儿,做得好可能要进去的
不推荐的做法:
1 、使用唤醒锁防止手机休眠,让用户开启应用白名单、对应应用电池优化关闭,手机可能会提示应用耗电大,不推荐
2 、Google 规范要求前台服务要有通知栏,更改 target version 为较低的版本也许能解决,不推荐
推荐:
1 、接入手机厂商推送通道,走推送
1 、内置到系统里面,就可以了。
2 、第三方不行,国产系统第三方更不行。
3 、对接所有定制系统的消息 push ,但是也需要引导用户点开通知权限。
4 、学拼多多那样,挖漏洞,提权。
一个技术是否应该用到项目中,不是这个技术好不好用,而是对于团队来说,这个技术中,会引发问题特别是严重问题的风险用法是否都被限制而做到可控了,坑是否被趟完了,后备方案是否做完备了…
Golang Golang 的交叉编译简直太容易了,只需设置 GOOS=linux 和 GOARCH=amd64 这两个环境变量,然后运行 go build。如果你的代码没有使…
各位大佬,想请教下从 Java8 升级到 Java 17 ,SpringBoot2.x 升级到 SpringBoot3.x 的建议 详细描述 之前一直用的 Java8 + S…