v0.4.4-fcmfix-whitelist
Pre-release
Pre-release
参考
@kooritea/fcmfix
@MinaMichita/miuifcmfix
注意
xp模块对系统的修改以及对电量和性能的修改(白名单和gms全量运行)必然导致某些情况下耗电更多。不喜可以关闭本插件!!!!
功能
修复MIUI的电量和性能(com.miui.powerkeeper)针对 fcm 的反向优化,和支持修改电量和性能的白名单功能.
- 去除电量和性能 对com.google.android.gms的黑名单
- 默认白名单维护。从白名单删除 "com.tencent.mobileqq"
- 允许 锁屏通知 (hook disableNotificationOnLockScreen,并禁用该方法)
- 禁止 强杀、禁用 GMS 服务
- 禁止 对 GMS 添加DNS和IPTABLE规则
hook 模块
-
com.miui.powerkeeper.utils.GmsObserver
- updateGmsState
- updateGmsNetWork
- stopGetFeedback
- disableGms
-
com.miui.powerkeeper.utils.GmsCoreUtils;
- killGmsCoreProcess
-
com.miui.powerkeeper.millet.MilletPolicy
- mSystemBlackList
- mDataWhiteList
- whiteApps
- musicApp
- pkgWhiteList
- mUseDataWhiteList
- pkgBlackList
- mUseSystemBlackList
-
com.miui.powerkeeper.statemachine.ExtremePowerController
- disableGmsCoreIfNecessary
- disableNotificationOnLockScreen
-
com.miui.powerkeeper.utils.NetdExecutor
- initGmsChain
- setGmsChainState
- setGmsDnsBlockerState
LSPOSED
- 必须把
电量和性能
添加到作用域 - 必须把
安卓系统
添加到作用域 - 必须把
Google play服务
添加到作用域 - 必须把接收推送的应用添加到作用域(telegramx,teams)
测试环境
- Xiaomi 10S
- MIUI12.5
- fcmfix-whitelist(本模块)
- FCM Hosts Magisk模块
- Telegram X 、Teams (Google Play版)
总结
目前测试fcm推送
正常,锁屏
后teams
和telegramx
都能正常收到消息和电话/视频
遇到问题
-
通知不弹出,不提示
- Telegram X 、Teams 在miui必须把
权限管理
中显示悬浮窗
和后台弹出界面
、锁屏显示
打开 - 必须把
通知管理
中通知过滤规则
全部设为重要,其他单项规则按需求配置
- Telegram X 、Teams 在miui必须把
-
teams能收到消息推送,但是无法接收通话/视频。一般是因为teams消息的ack落后了。
- 我这边体现为,收到的最新推送比发送的消息始终落后两条
- 我的处理方案是 清空Google play服务的全部数据,然后退出teams账号后重新登录账号(可以在设置--手机账户 中删除 microsoft账号),再重启手机。 只要ack恢复正常就能正常收到通话了。
-
fcm中显示no response
- 是由于应用未响应fcm推送,虽然此时应用是后台存在进程,但是不处理推送消息,一般是因为应用被优化了,可以尝试后台无限制看看,或者灭霸调试要保活什么服务
-
fcm中显示failed to broadcast
- 出现这个一个是因为应用进程被杀了,可以灭霸情景模式保活或者系统后台无限制,优化要不断地调试才能稳定
-
fcm中显示404 to broadcast
- 这个官方说是由于token不一致导致的,这个我测试很奇怪,打开应用推送成功,应用切换到后台推送就是404,最后是应用退出登录,清理GMS和应用数据后恢复正常。