新功能提议(在NoA工作时,把微信彻底杀掉之后,收到的第一条微信消息无通知)
由a01020d新功能启发的:
我发现在NoA工作时,把微信彻底杀掉(强制停止)之后,收到的第一条微信消息无通知(后续微信消息会正常通知,直到再次彻底杀掉微信),fcmfix也没有代为发送通知。FCM日志中fcmfix似乎认为微信成功响应了FCM广播(但实际上微信并没有生成通知)。
这似乎有些违背“对于没有成功唤醒的应用fcmfix代为发送一条通知(需在xposed勾选gms)”这个新功能的美好意愿。我想这应该是微信奇葩和臃肿的推送实现导致的。目前可以用Thanox的微信通知代收解决这个问题,但为了一劳永逸解决所有这种问题,考虑到基本上不存在收到FCM信号却没有通知的应用设计,开发者可不可以加一个新功能(或者把现有代为发送通知功能的逻辑替换为以下逻辑):
收到FCM推送信号并完成fcmfix现有逻辑后,检查目标应用是否在5秒内生成了新通知,如果没有生成,就代为发送通知。
个人觉得这个逻辑可能会比a01020d的现有逻辑更可靠一些,尤其是在应对微信这种奇葩流氓应用时。
第一次收到通知的时候FCM Diagnostics里日志是什么样的
第一次收到通知的时候FCM Diagnostics里日志是什么样的
第一次(无通知): 03-07 21:17:22.672 net=1: Received com.tencent.mm 0:手动打码用户标识 03-07 21:17:23.000 net=1: Acked com.tencent.mm:0 0:手动打码用户标识 03-07 21:17:23.001 net=1: Successful broadcast to com.tencent.mm (id=0:手动打码用户标识 time=321ms priority=HIGH) 03-07 21:17:23.181 net=1:[fcmfix] [android]Send Forced Start Broadcast: com.tencent.mm 03-07 21:17:23.181 net=1:[fcmfix] [android][com.google.a ndroid.c2dm.intent.RECEIVE]checkApplicationAutoStart package_name: com.tencent.mm 03-07 21:17:23.181 net=1:[fcmfix] [android]Broadca stQueueModernStublmpl.checkReceiverlfRestricted package_name: com.tencent.mm 03-07 21:17:23.181 net=1:[fcmfix] [android]SmartPowerService.shouldlnterceptBroadcast package_name: com.tencent.mm 03-07 21:17:23.181 net=1:[fcmfix] [android]Broadca stQueueModernStublmpl.checkReceiverlfRestricted package_name: com.tencent.mm 03-07 21:17:23.181 net=1:[fcmfix] [android]SmartPowerService.shouldlnterceptBroadcast package_name: com.tencent.mm 03-07 21:17:23.181 net=1:[fcmfix] [android][android.inten t.action.BOOT_COMPLETED]checkApplicationAutoStart package_name: com.tencent.mm 03-07 21:17:23.181 net=1:[fcmfix] [android]Disable MIUI Intercept: com.tencent.mm
第二次(有通知): 03-07 21:18:04.639 net=1: Received com.tencent.mm 0:手动打码用户标识 03-07 21:18:04.652 net=1: Sent lqStanza 1 03-07 21:18:04.683 net=1: Acked com.tencent.mm:0 0:手动打码用户标识 03-07 21:18:04.689 net=1: Successful broadcast to com.tencent.mm (id=0:手动打码用户标识 time=42ms priority=HIGH) 03-07 21:18:05.151 net=1:[fcmfix] [android]Send Forced Start Broadcast: com.tencent.mm 03-07 21:18:05.151 net=1:[fcmfix] [android]Broadca stQueueModernStublmpl.checkReceiverlfRestricted package_name: com.tencent.mm 03-07 21:18:05.151 net=1:[fcmfix] [android]SmartPowerService.shouldlnterceptBroadcast package_name: com.tencent.mm
我仔细想了想这个问题,它似乎是一个由微信和NoA共同导致的问题,换句话说FCMFix已经正确地做了所有它该做的事,只是微信太臃肿导致它从冷启动到弹出消息的耗时(我在搭载晓龙8 Elite上的手机测试是十秒左右)超出了NoA写死的FCM唤醒解冻期限(貌似是5秒)。我仍然觉得我最开始提到的逻辑是十分有意义的,因为它可以作为一个兜底的存在,确保不漏过任何一个FCM推送,不管有什么奇奇怪怪的因素阻碍了最终通知的弹出。如果作者您有兴趣实现我最开始提到的逻辑我会非常感谢,但如果您认为这个小问题主要责任在NoA且不想采纳这个逻辑建议,可以随意关闭这个issue.
很多谷歌系应用的fcm都并非消息通知,判断是否有通知是不合理的,fcmfix暂时也没打算对特定应用做特殊处理。
这个是我作为不能绕过系统自启动限制的为前提做的备选功能,因为在我自己的氧os15上也还不能绕过自启动的限制🫠
我认为没有必要把它杀死,Noa冻结后台就行了。微信的使用频率挺高的,反复杀死再冷启动反而增加耗电。曾经也折腾过一段时间让微信走fcm。最后还是归属还是白名单。😂
奇怪,使用noa不是就不能使用fcm吗?(noa作者说的
奇怪,使用noa不是就不能使用fcm吗?(noa作者说的
已经支持fcm消息解冻了。
我现在作用域设置谷歌服务和电量性能,修改了电量性能对谷歌的限制,可以无后台和无自启接收到谷歌推送,夜晚锁屏也不会断
我仔细想了想这个问题,它似乎是一个由微信和NoA共同导致的问题,换句话说FCMFix已经正确地做了所有它该做的事,只是微信太臃肿导致它从冷启动到弹出消息的耗时(我在搭载晓龙8 Elite上的手机测试是十秒左右)超出了NoA写死的FCM唤醒解冻期限(貌似是5秒)。我仍然觉得我最开始提到的逻辑是十分有意义的,因为它可以作为一个兜底的存在,确保不漏过任何一个FCM推送,不管有什么奇奇怪怪的因素阻碍了最终通知的弹出。如果作者您有兴趣实现我最开始提到的逻辑我会非常感谢,但如果您认为这个小问题主要责任在NoA且不想采纳这个逻辑建议,可以随意关闭这个issue.
最新的Noa已经将FCM解冻时间延迟到5秒了。
我现在作用域设置谷歌服务和电量性能,修改了电量性能对谷歌的限制,可以无后台和无自启接收到谷歌推送,夜晚锁屏也不会断
会不会冲突了?我直接通过模块修改电池和性能,fcmfix没有勾选电池和性能也没有勾选谷歌服务。息屏后微信也可以正常推送。 修改教程:https://www.coolapk.com/feed/61389932?shareKey=ZDAyMzNjMjQzZjJiNjdlMzQ5NDQ~&shareUid=30544994&shareFrom=com.coolapk.market_14.5.4
我现在作用域设置谷歌服务和电量性能,修改了电量性能对谷歌的限制,可以无后台和无自启接收到谷歌推送,夜晚锁屏也不会断
会不会冲突了?我直接通过模块修改电池和性能,fcmfix没有勾选电池和性能也没有勾选谷歌服务。息屏后微信也可以正常推送。 修改教程:https://www.coolapk.com/feed/61389932?shareKey=ZDAyMzNjMjQzZjJiNjdlMzQ5NDQ~&shareUid=30544994&shareFrom=com.coolapk.market_14.5.4
这里面的修改方式有没有simple hook的版本?
我现在作用域设置谷歌服务和电量性能,修改了电量性能对谷歌的限制,可以无后台和无自启接收到谷歌推送,夜晚锁屏也不会断
会不会冲突了?我直接通过模块修改电池和性能,fcmfix没有勾选电池和性能也没有勾选谷歌服务。息屏后微信也可以正常推送。 修改教程:https://www.coolapk.com/feed/61389932?shareKey=ZDAyMzNjMjQzZjJiNjdlMzQ5NDQ~&shareUid=30544994&shareFrom=com.coolapk.market_14.5.4
这里面的修改方式有没有simple hook的版本?
这个不知道,纯小白一个,照着教程弄的,看看kooritea 大佬能不能直接hook电池性能修改。😀
我现在作用域设置谷歌服务和电量性能,修改了电量性能对谷歌的限制,可以无后台和无自启接收到谷歌推送,夜晚锁屏也不会断
会不会冲突了?我直接通过模块修改电池和性能,fcmfix没有勾选电池和性能也没有勾选谷歌服务。息屏后微信也可以正常推送。 修改教程:https://www.coolapk.com/feed/61389932?shareKey=ZDAyMzNjMjQzZjJiNjdlMzQ5NDQ~&shareUid=30544994&shareFrom=com.coolapk.market_14.5.4
你开后台或者自启动吗?
我现在作用域设置谷歌服务和电量性能,修改了电量性能对谷歌的限制,可以无后台和无自启接收到谷歌推送,夜晚锁屏也不会断
会不会冲突了?我直接通过模块修改电池和性能,fcmfix没有勾选电池和性能也没有勾选谷歌服务。息屏后微信也可以正常推送。 修改教程:https://www.coolapk.com/feed/61389932?shareKey=ZDAyMzNjMjQzZjJiNjdlMzQ5NDQ~&shareUid=30544994&shareFrom=com.coolapk.market_14.5.4
你开后台或者自启动吗?
我开了后台和自启,我的目的是让微信进缓存。就不会后台蹦迪了。
@Lovefish @csjoyxy 发个apk来看看