前言

国内安卓生态并未接入GCM/FCM统一推送体系,国内安卓应用大都采用自带推送服务或第三方推送服务体系,从而导致应用需要常驻后台。

在国内比较成功的系统级推送体系有MIPushHMS等,接入后能够有效减少应用因消息推送的需要而频繁自启的行为,从而减少后台占用达到省电的效果。

HMS需要使用到HMS Core,可以在华为应用市场酷安下载到。如遇到点击通知无法打开目标应用,可以将HMS Core转为系统应用

请将HMS Core设置开机自启加入电池优化白名单锁定后台

已ROOT

在非华为设备上由于缺乏系统服务配合,只能唤醒目标应用让其自己弹出通知,同时大部分应用在非华为设备上不会主动启用HMS推送服务。为了能够更好接入HMS,我们需要伪装成华为机型,主要有两种方法:使用HMSPush或机型修改模块。

下载安装HMSPush,并在LSP勾选系统框架和HMS Core后重启。将支持HMS的应用勾选作用域,如果你使用了其他方法伪装华为机型则无需进行这一步。打开HMSPush即可看到应用支持列表和状态。

非ROOT

下载安装LSPatch,选择HMSPush列表里的应用进行修补,其中HMS Core为必须。

这里以HMS Core为例子:

新建修补,可以是安装包也可以是已安装的应用。选择便捷模式,点击嵌入模块,模块选择HMSPush。等待修补完成后安装,需要卸载原应用后再安装修补过的应用。完成后重启系统,回到HMSPus查看状态。

HMS Core精简

由于我们只需要用到HMS的推送服务,所以我们可以对不必要的进程进行精简,从而进一步减少后台占用。

管理相关进程可以使用爱玩机工具箱ThanoxMyAndroidTools等软件。

请将下面列出的进程打开,其余进程全部关闭。

服务

HMSCoreService

HMSInnerService

OpenDeviceIdentifierBindService

OobeService

HMSStubKitUpdateJobService

广播

OobeOnBootBroadcastReceiver

HMSOnBootBroadcastReceiver

活动

JumpActivity

PushEarthquakeActivity

TileLongClickJumperActivity

内容提供者

HMSFrameworkProvider

KitProcessAgentCoreProvider

ModuleQueryProvider

HmsSettingSearchProvider

UpdateSettingProvider