诺基亚安卓手机使用小米消息推送服务

2018-05-30 11028点热度 2条评论
此教程已不适用于最新的诺基亚安卓系统,如果你仍然想使用,可以加入 QQ 群与我交流。
最后更新时间:2019年2月23日

Android 应用消息推送从 Android 诞生以来都是麻烦的问题,特别是在国内,这个问题尤为明显。

那 iOS 就没这个问题了吗?当然,苹果在 iOS3 就引进了推送通知服务(Apple Push Notification service),使应用开发者不需要让应用留在后台自己接受消息,而是让开发者把消息推送给苹果的推送服务,然后由推送服务推送给设备,由系统服务统一接收管理,达到了省电省内存的效果。

So?Android 就没有了吗?也有,之前叫做 GCM(Google Cloud Messaging),现在叫做 FCM(Firebase Cloud Messaging)。这个服务是 Google 提供的,依托于 Google Play 服务,在国内无法正常使用。那国内那些第三方推送服务呢?那些推送服务只能靠着连环唤醒的方式实现推送,这样做就会导致应用频繁自启,占用内存,频繁在后台唤醒CPU,浪费电量。

那么就没有两全其美的方法了吗?

有!最近几年国内手机厂商都在做自己系统层级的推送服务,类似 iOS 的那种。还有工信部牵头即将正式开放使用的统一推送联盟。都皆在解决国内安卓应用消息推送问题。

而国内手机厂商中做的最好的就是小米消息推送服务(以下简称:MiPush),基于 MIUI 的消息推送服务,可以做到不唤醒应用的情况下接收消息。

那么非 MIUI 就不能用了吗?

并非如此。开发者 Trumeet 开发出了在任何系统(非 MIUI)都可以使用的 MiPush。

小米推送服务

咳咳,由于小山前段时间换了诺基亚,最近也解锁了 BootLoader,装了 Magisk,可以完美的体验 MiPush。

这篇文章就教诺基亚安卓手机用户如何正确的使用 MiPush,当然,其他手机用户想知道如何正确使用,可以加入 QQ 群与我交流。

要想体验到最完美的 MiPush,务必解锁你的诺基亚安卓手机并安装 Magisk,如果你不知道如何解锁或安装 Magisk,可以加入 QQ 群与我交流。(可能还需要 Xposed ?)

1.安装

第一步当然是安装 MiPush 啦

下载地址:https://github.com/Trumeet/MiPushFramework/releases

打开下载地址,下载并安装最新的 manager.apk 和 xmsf_service.apk。

由于这个项目目前还处于试验阶段,所以推荐你们每天安装更新一下最新版本。

2.伪装 MIUI

伪装 MIUI 有两种方法:Xposed 和 Magisk。

Xposed 适用于 Android 8.1 及以下版本,Magisk 适用于所有 Android 版本,我推荐使用 Magisk 来进行伪装。

如果你要使用 Xposed 来进行伪装,先使用 Magisk 安装适合你当前 Android 版本的 Xposed 框架,然后再 Xposed 中激活 MiPush 的 Xposed 模块即可。

Magisk 伪装

Magisk 伪装模块是基于一个叫做 Riru 的模块,这是一个由 Rikka 开发的类似于 Xposed 的东东,可以让基于 Riru 开发的模块进入到应用或系统进程里,从而实现 hook 和修改的目的。

首先要安装 Riru 的核心模块,然后才能使用基于 Riru 开发的模块。

Riru Core:https://github.com/RikkaApps/Riru/releases/latest

下载完成后,打开【Magisk Manager】 → 点击 [模块] → 点击下面的加号 → 选择下载好的 Riru Core 压缩包即可。

Riru Core 安装完成之后,就可以安装 MiPush 伪装模块了,安装方法同上。

Riru MiPushFake:https://github.com/MiPushFramework/MiPushFakeForRiru/releases/latest

安装完成后,重启手机即可。

无论使用那种方法伪装,都需要在【小米推送服务】里开启伪装,支持单应用伪装和全局伪装。

如何检测伪装是否生效?推荐使用【酷安】进行测试,对酷安设置单应用伪装,然后进入酷安查看机型名称是否变成小米。

由于伪装会将机型伪装成小米,如果对支付宝之类的应用进行伪装,可能会造成指纹支付无法使用等。

3.设置白名单

以下步骤可能仅在 Android O 的诺基亚安卓系统有效,如果你使用的是 Android P 或 以下方法不管用,请接着往下看。 

由于核心服务没有界面,所以诺基亚安卓系统的电池管理没有显示核心服务,我们需要手动来添加一下白名单。

这个步骤涉及到修改数据库,请小心行事。

首先需要安装数据库编辑器:https://cdn.mivm.cn/app/SQLite-Editor/SQLite-Editor_2.4.apk

打开 SQLite Editor 并授予 Root 权限

点击 FLIES → 定位到/data/data/com.evenwell.powersaving.g3/databases/ → 打开background_clean.db

数据库编辑器

允许自动唤醒:点击disauto_app → 找到 com.xiaomi.xmsf → 长按 → 点击 [Delete Record] → YES → 删除成功后返回上一层

数据库编辑器

允许锁屏保留:点击white_list → 点击右上角的 + 按钮 → 输入 com.xiaomi.xmsf → 点击 [Save] → 保存成功后退出应用

数据库编辑器

关闭电池优化:打开【设置】 → [应用和通知] → 点击最下面的 [高级] → [特殊应用权限] → [电池优化] → 点击上面的 [未优化] → [所有应用] → 找到 MiPush 核心服务 → 将选项改为 [不优化] → 完成

电池优化

设置开机启动:打开【设置】 → [应用和通知] → 点击最下面的 [高级] → [应用权限] → [开机自动启动应用] → 找到 MiPush 核心服务 → 开启开机启动→ 完成

做完以上这些,就可以保证 MiPush 服务在后台正常的存活和接受推送了。

Android P

小山以及其他人的初步测试,Android P 的诺基亚安卓系统貌似对后台的管控更加严格,会每隔一段时间强制杀死后台程序,而且禁止任何程序开机启动。

小山按照上面的方法将 MiPush 服务加入诺基亚安卓系统的电池管理白名单,但是丝毫不起作用,有时候还会被杀掉,而且开机无法自启,必须手动打开一下【小米推送服务】。

针对这个问题,目前的解决方法是卸载诺基亚安卓系统的电池管理,卸载电池管理之后可能会到导致后台程序无法杀死,应用全家桶唤醒的情况,推荐用绿色守护解决这个问题。

卸载方法:https://dontkillmyapp.com/nokia

最后,重启你的手机。

4.使用

重启完成后,打开【小米推送服务】,应该就可以完美的使用了。

新版【小米推送服务】会显示所有你手机里所有支持 MiPush 的应用并显示是否已注册推送。

MiPush 正常运行时通知栏会显示状态信息

推荐测试应用:IT之家、优酷、爱奇艺、梨视频。

MiPush 推送的消息,通知标题都会带有 Push 字样。


虽然支持 MiPush 的应用还不是特别多,最常用的 IM 应用也不支持,不过总好过没有。我们应该期待国内安卓环境会越来越好,我也非常期待绿色应用公约和统一推送联盟能够普及,特别是BAT大佬们的支持。

此教程在基于 Android 8.1、9 的诺基亚7测试通过,不保证通用所有 Android 版本以及所有诺基亚机型。

微信公众号二维码

微信扫描二维码关注我们

如果觉得文章有帮助到你,可以点击下方的打赏按钮赞助下服务器费用。

小山

一个什么都不会但要装作很厉害的人

文章评论

  • 萧丶默

    总结一句话,加群问小山 :cowboy:

    2018-06-06
    • 小山

      @萧丶默 陈独秀同学,请你坐下。

      2018-06-06
  • 此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据