安卓续航一直是个大问题,明明电池容量比苹果要大很多,为什么续航比不过苹果设备?很大原因是因为安卓没有统一推送服务,导致每个安卓app为了推送消息都会把自己挂在后台,不断的消耗用户电量。并且由于国内厂家都自己搞推送服务,开发者为了提升覆盖率,不得不接入多种推送服务,导致app越来越大。
不过前几年主流app开始适配排名靠前的推送服务,所以大家有没有发现近几年的手机续航能力大幅度提升,特别是华为和小米的。主要原因是这些app使用了手机厂家提供的系统级推送服务,无需将应用保持后台运行也能正常接收推送消息。
当然微信这个坑货除外,微信仅接入了谷歌的FMC推送服务,国内没有接入任何一家推送服务。所以微信还是得挂后台才能正常接收消息,不出意外你的微信肯定是耗电榜首。
回到今天的主题,有没有办法让其它品牌的手机使用华为、小米的推送服务呢?比如我的魅族手机三星手机,应用开发者没有接入系统推送,我能不能自己安装使用指定的推送服务呢?答案肯定是可以的。
先说说原理,以华为推送HMS为例。首先在手机上安装华为移动服务app,也叫HMS core。然后使用lspath进行应用改写。没有root使用它,root了就可以使用更高级的lsposed。将大佬开发的伪装华为推送服务hmspush写入到指定app中,这样应用在推送时就会将你的手机当作华为手机,从而使用华为的推送服务。
大佬开发的hmspush应用的作用就是伪装手机,以及将推送服务注入到应用中。注意:不建议对金融类和支付类app使用此操作!
简单教程
至于lspath的使用就简单介绍下,网上教程多得很,比如b站,视频教程很多。本文提供可以使用的工具,lspath、华为移动服务、hmspush。下载地址见文末。
在lspath下方菜单中点击管理,首次进入会要求创建一个文件夹专门供lspath存放改写后的apk文件目录,自己创建一个就好。
然后点击右下角加号,添加一个改写项目。
选择你需要的app应用,可以是没安装的安装包,也可以是已经安装了的。然后在修补模式中选择集成模式,点击嵌入模块。
模块就是本文提供的hmspush,安装后会在模块中显示出来,选它就行了。
最后点击开始修补,等代码跑完直到出现安装应用时,打开文件管理器找到你的lspath专用目录,里面有一个嵌入了修补程序的新应用,安装它就好,它已经能伪装成在华为手机运行,并能正确触发华为的HMS推送服务。
检查
成功后,打开hmspush应用可以看到对应的应用已经成功注册华为推送服务。
将QQ移除后台后,测试消息仍能正常接收,效果非常棒。
保持hmspush 应用与HMS core的电池管理为后台运行,并锁定它,以便多任务清理时自动排除,防止被清理。
此教程成功的前提是目标app必须已经接入了华为推送服务,可以通过libchecker这款app查看目标应用是否支持华为推送服务。详见:安卓查看app第三方库libchecker下载
注意:改写华为推送的时候需要将HMS core也一起改写,不然推送服务应用会知道自己不在华为手机中,导致不工作,你会看到hmspush提示HMS core未激活。
评论 (0)