Giter Club home page Giter Club logo

qq-notify-evolution's Introduction

企鹅通知进化 - 原「QQ 通知进化」

免 ROOT 优化 QQ 通知:多会话/多消息/多渠道。支持 Nevo 插件与独立运行双模式。

📖使用手册

主要功能

支持 QQ 标准版 与 TIM。

强制腐朽的 QQ 通知进化为现代化的样式,包括以下特性:

  • 适配原生分渠道通知,可对私聊、群聊、特别关心、空间消息设置不同的提示方式。
  • 使用原生通知音量与振动,高度兼容智能手环与手表。
  • 遵循 Android 消息应用通知样式最佳实践,支持显示多组会话与历史消息。
  • 支持作为 Nevo 插件或者独立运行。

感谢

qq-notify-evolution's People

Contributors

ichenhe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

qq-notify-evolution's Issues

还会更新嘛

悄声问一句,这个项目还会继续更新下去嘛🥺

申请适配mipush推送

QQ在最新版本(8.9.2)已经支持mipush了,在MIUI系统上可以无后台收到消息,但是没有被软件捕获,请问后续版本可否适配该功能。

建议 release build 中关闭混淆,便于其它开发者根据异常查找到源码

最近收到用户反馈此项目的 Nevolution 插件工作异常,但从 logcat 中只能的 crash stack 是有混淆的,难以对应到源码中,所以让我比较难分析是不是 Nevolution 升级引入的问题。

既然已经是开源项目,建议 release build 关闭混淆,只保留缩减(shrink)。理论上最终包大小为略微增加,但在应用市场普遍实现了 APK 增量下载的今天,这种影响对最终用户而言,已经比较小了。

消息通知不能显示在“对话”部分

升级2.2.1版本后,在传统工作模式下,经过处理的消息通知显示在了通知栏的“通知”部分,而非“对话”部分。已经确定联系人消息和群消息都受到了影响。之前的版本是可以正常显示在对话部分的。设置里的“允许此应用显示在对话部分”选项也是开启的。
Screenshot_20210507-004607_Pixel_启动器
Screenshot_20210507-004924_Pixel_启动器

特别关心动态推送未匹配

应用版本:2.0.2

描述:特别关心的 QQ 空间推送未匹配到。

通知标题:QQ空间动态
通知内容:【特别关心】昵称:动态内容

关联qq号正则问题

乙给我发消息,没有读,切换到关联qq号,甲再给我发消息,QQ通知进化却显示的是乙的名字,甲的内容

内源模式无法正常使用

机型:OnePlus 7 Pro(OxygenOS 11)
安卓版本:Android 11
女娲石版本:6.3-dev
QQ通知进化版本:2.2.1

具体表现为:
Nevo开启内源模式后并没有对QQ的通知进行正确接管,而是使用了QQ自己的通知通道

偶尔无法跳转到QQ

已开无障碍,已取消电池优化,已按最佳实践设置,三星Oneui1.0韩版。尤其是在收到消息10分钟后再点击时,无法跳转。需要进入一次QQ才行,否则之后的消息更加无法跳转。不知道我是不是个例T.T
QQ版本是play版7.7.6

2.2.3版本消息通知不能显示在对话部分

类原生Pixel Experience,安卓版本11,QQ版本Play商店版8.2.11
传统工作模式下,经过处理的消息通知显示在了通知栏的“通知”部分,而不是“对话”部分
图1是显示在“通知”部分的2.2.3版本的截图
图2是显示在“对话”部分的2.2.0版本的截图
Screenshot_20210922-171341_Pixel_启动器
Screenshot_20210922-171441_Pixel_启动器

有时无故失效

当时情况是这样:
此软件启动后,回到桌面,大约30秒后,QQ收到消息,但QQ的通知没有被消除和转化

2021-12-14 14:46:31.118 [I] [Application]: 


2021-12-14 14:46:31.118 [I] [Application]: ==================================================
2021-12-14 14:46:31.119 [I] [Application]: = App Create  ver: 2.2.5-release(20041)
2021-12-14 14:46:31.119 [I] [Application]: ==================================================

2021-12-14 14:46:31.119 [D] [Application]: Register system notification channels
2021-12-14 14:46:31.149 [D] [UpgradeService]: Old version equals to the current, no need to upgrade. v=20041
2021-12-14 14:46:31.151 [V] [NotifyMonitor]: Service - onCreate
2021-12-14 14:46:31.168 [V] [Accessibility]: Service - onCreate
2021-12-14 14:46:32.368 [V] [NotifyMonitor]: Detect notification from com.tencent.mobileqq.
2021-12-14 14:46:32.370 [V] [NotificationProcessor]: Title: 群名 (4条新消息); Ticker: 群成员昵称2(群名):[动画表情]; QZone: false; Multi: false; Content: 群成员昵称2: [动画表情]
2021-12-14 14:46:32.378 [D] [NotificationProcessor]: [Group] Name: 群成员昵称2; Group: 群名; Text: [动画表情]
2021-12-14 14:46:32.379 [V] [NotificationProcessor]: Create conversation notification for 1 messages.
2021-12-14 14:46:32.660 [V] [NotifyMonitor]: Detect notification from cc.chenhe.qqnotifyevo.
2021-12-14 14:46:32.661 [D] [NotificationProcessor]: Unknown tag, skip. pkgName=cc.chenhe.qqnotifyevo
2021-12-14 14:46:32.884 [V] [NotifyMonitor]: Detect notification from com.RichardLuo.notificationpush.
2021-12-14 14:46:32.885 [D] [NotificationProcessor]: Unknown tag, skip. pkgName=com.RichardLuo.notificationpush
2021-12-14 14:46:32.888 [V] [NotifyMonitor]: Detect notification from com.RichardLuo.notificationpush.
2021-12-14 14:46:32.888 [D] [NotificationProcessor]: Unknown tag, skip. pkgName=com.RichardLuo.notificationpush
2021-12-14 14:46:36.844 [V] [NotificationProcessor]: onNotificationRemoved: Tag=QQ, Reason=2, Title=群名:群成员昵称2
2021-12-14 14:46:52.225 [V] [NotifyMonitor]: Detect notification from com.tencent.mobileqq.
2021-12-14 14:46:52.227 [V] [NotificationProcessor]: Title: 群名 (5条新消息); Ticker: 群成员昵称1(群名):梦里FaceTime; QZone: false; Multi: false; Content: [有关注的内容]群成员昵称1: 梦里FaceTime
2021-12-14 14:46:52.228 [D] [NotificationProcessor]: [GroupS] Name: 群成员昵称1; Group: 群名; Text: 梦里FaceTime
2021-12-14 14:46:52.717 [V] [NotifyMonitor]: Detect notification from com.RichardLuo.notificationpush.
2021-12-14 14:46:52.718 [D] [NotificationProcessor]: Unknown tag, skip. pkgName=com.RichardLuo.notificationpush
2021-12-14 14:46:52.722 [V] [NotifyMonitor]: Detect notification from com.RichardLuo.notificationpush.
2021-12-14 14:46:52.723 [D] [NotificationProcessor]: Unknown tag, skip. pkgName=com.RichardLuo.notificationpush
2021-12-14 14:49:33.785 [V] [NotifyMonitor]: Detect notification from android.
下文省略...

至少“梦里FaceTime”这条通知没有被转化

crDroid 7.12
Android 11
QQ 通知进化 2.2.5(20041)
QQ 8.2.11(1380)

工作模式:传统

QQ通知信息格式变更

在更新到QQ 8.9.63.11390后,消息格式发生变更。

私聊消息:

字段 内容
Title User (MessageCount)
Ticker User (MessageCount): Message
Content Message

群聊消息:

字段 内容
Title Group (MessageCount)
Ticker Group (MessageCount): User: Message
Content User: Message

nevo插件模式部分失效

手机型号:Redmi Note 11T Pro
安卓版本:13
MIUI版本:14.0.5.0(TLOCNXM)
Nevo女娲石版本:6.5.1
QQ通知进化版本:2.2.6-release(20043)
QQ版本:V 8.9.80.12440

当Nevo内源模式(ROOT)开启时,QQ通知进化无法正常使用,表现为ticker是null。
当Nevo内源模式(ROOT)开启时,QQ通知进化未能生效,通知开启前后没有变化。
当Nevo是传统模式时,通知能正常从Nevo读取信息并从Nevo发送通知,日志如下:

2023-10-13 01:08:44.721 [V] [Nevo.Decorator[Nevo]]: Detect notification from com.tencent.mobileqq.
2023-10-13 01:08:44.724 [V] [NotificationProcessor]: Title: 卡尔斯·碳; Ticker: 卡尔斯·碳: TEST1; QZone: false; Multi: false; Content: TEST1
2023-10-13 01:08:44.725 [D] [NotificationProcessor]: Delete old messages. conversation: 卡尔斯·碳, max: 1
2023-10-13 01:08:44.726 [D] [NotificationProcessor]: [Friend] Name: 卡尔斯·碳; Text: TEST1
2023-10-13 01:08:44.727 [V] [NotificationProcessor]: Create conversation notification for 1 messages.

当QQ通知进化时传统模式时,能正常发送进化通知,日志如下:

2023-10-13 01:11:42.181 [V] [Nevo.Decorator[Nevo]]: Service - onDestroy
2023-10-13 01:12:33.039 [V] [Accessibility]: Service - onCreate
2023-10-13 01:12:38.209 [V] [NotificationProcessor]: Clear history. tag=QQ
2023-10-13 01:12:40.603 [V] [InnerNotifyProcessor]: Clear all evolutionary notifications.
2023-10-13 01:12:43.794 [V] [NotifyMonitor]: Detect notification from com.tencent.mobileqq.
2023-10-13 01:12:43.794 [V] [NotificationProcessor]: Title: 卡尔斯·碳; Ticker: 卡尔斯·碳: TEST2; QZone: false; Multi: false; Content: TEST2
2023-10-13 01:12:43.799 [D] [NotificationProcessor]: [Friend] Name: 卡尔斯·碳; Text: TEST2
2023-10-13 01:12:43.799 [V] [NotificationProcessor]: Create conversation notification for 1 messages.
2023-10-13 01:12:44.048 [V] [NotifyMonitor]: Detect notification from cc.chenhe.qqnotifyevo.
2023-10-13 01:12:44.049 [D] [NotificationProcessor]: Unknown tag, skip. pkgName=cc.chenhe.qqnotifyevo

当Nevo内源模式(ROOT)开启时:

2023-10-13 01:22:07.944 [I] [Application]: 


2023-10-13 01:22:07.944 [I] [Application]: ==================================================
2023-10-13 01:22:07.944 [I] [Application]: = App Create  ver: 2.2.6-release(20043)
2023-10-13 01:22:07.944 [I] [Application]: ==================================================

2023-10-13 01:22:07.944 [D] [Application]: Register system notification channels
2023-10-13 01:22:07.947 [D] [UpgradeService]: Old version equals to the current, no need to upgrade. v=20043
2023-10-13 01:22:39.577 [V] [Nevo.Decorator[Nevo]]: Service - onCreate
2023-10-13 01:22:39.615 [D] [Nevo.Decorator[Nevo]]: Nevo connected
2023-10-13 01:22:39.615 [D] [Nevo.Decorator[Nevo]]: Register nevo notification channel for All
2023-10-13 01:22:39.617 [W] [Nevo.Decorator[Nevo]]: Register nevo notification channel error.
Disallowed for non-targeted package: com.tencent.tim
Disallowed for non-targeted package: com.tencent.qqlite
Disallowed for non-targeted package: com.tencent.minihd.qq
2023-10-13 01:22:51.200 [V] [Nevo.Decorator[Nevo]]: Detect notification from com.tencent.mobileqq.
2023-10-13 01:22:51.200 [D] [Nevo.Decorator[Nevo]]: Register nevo notification channel for com.tencent.mobileqq
2023-10-13 01:22:51.203 [V] [NotificationProcessor]: Title: 卡尔斯·碳; Ticker: 卡尔斯·碳: TEST10; QZone: false; Multi: false; Content: TEST10
2023-10-13 01:22:51.206 [D] [NotificationProcessor]: [Friend] Name: 卡尔斯·碳; Text: TEST10
2023-10-13 01:22:51.206 [V] [NotificationProcessor]: Create conversation notification for 1 messages.
2023-10-13 01:23:26.147 [V] [Nevo.Decorator[Nevo]]: Detect notification from com.tencent.mobileqq.
2023-10-13 01:23:26.147 [V] [NotificationProcessor]: Title: 卡尔斯·碳(2条新消息); Ticker: 卡尔斯·碳(2条新消息): TEST11; QZone: false; Multi: false; Content: TEST11
2023-10-13 01:23:26.148 [D] [NotificationProcessor]: [Group] Name: 卡尔斯·碳; Group: 2条新消息; Text:  TEST11
2023-10-13 01:23:26.149 [V] [NotificationProcessor]: Create conversation notification for 1 messages.

此外,在测试中还遇到了一些神奇的问题,比如ticker总是null,私聊时multi时true,群聊则是false等。通过重装nevo、重装QQ通知进化、将锁屏通知改为显示全部通知、将nevo改为非root模式、将QQ通知进化改为传统模式、重装通知滤盒、重启QQ的方式搞好了。

Nevo模式每次接收通知时有一个空通知

Screenshot_20230705-112626~2.png

如图,不管是群消息还是联系人消息都有这个空通知出现,改为独立模式时是正常的,请问这是哪里设置的问题吗?QQ是8.9.30,手机是android 13的pixel 6, 插件为最新版

F-Droid

请问可以发布到 F-Droid 吗?

奇怪的异常未捕获导致系统崩溃软重启

Android 12, Nevo 6.3, Nevo非Root工作, 未启用内源模式, 启用了消息同步移除

--------- beginning of crash
01-31 15:41:46.455  3703  3703 E AndroidRuntime: FATAL EXCEPTION: main
01-31 15:41:46.455  3703  3703 E AndroidRuntime: Process: cc.chenhe.qqnotifyevo, PID: 3703
01-31 15:41:46.455  3703  3703 E AndroidRuntime: java.lang.RuntimeException: Unable to create service cc.chenhe.qqnotifyevo.service.NevoDecorator: java.lang.NullPointerException
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4500)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at android.app.ActivityThread.access$1700(ActivityThread.java:247)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2072)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:201)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:288)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7839)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: Caused by: java.lang.NullPointerException
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.utils.UtilsKt.getCacheDir(Utils.kt:137)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.utils.UtilsKt.getAvatarDiskCacheDir(Utils.kt:154)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.core.NotificationProcessor.<init>(NotificationProcessor.kt:173)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.core.NevoNotificationProcessor.<init>(NevoNotificationProcessor.kt:18)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.service.NevoDecorator.onCreate(NevoDecorator.kt:65)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4487)
01-31 15:41:46.455  3703  3703 E AndroidRuntime: 	... 9 more
01-31 15:41:47.736  3815  3815 E AndroidRuntime: FATAL EXCEPTION: main
01-31 15:41:47.736  3815  3815 E AndroidRuntime: Process: cc.chenhe.qqnotifyevo, PID: 3815
01-31 15:41:47.736  3815  3815 E AndroidRuntime: java.lang.RuntimeException: Unable to create service cc.chenhe.qqnotifyevo.service.NevoDecorator: java.lang.NullPointerException
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4500)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at android.app.ActivityThread.access$1700(ActivityThread.java:247)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2072)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:201)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:288)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7839)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: Caused by: java.lang.NullPointerException
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.utils.UtilsKt.getCacheDir(Utils.kt:137)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.utils.UtilsKt.getAvatarDiskCacheDir(Utils.kt:154)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.core.NotificationProcessor.<init>(NotificationProcessor.kt:173)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.core.NevoNotificationProcessor.<init>(NevoNotificationProcessor.kt:18)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at cc.chenhe.qqnotifyevo.service.NevoDecorator.onCreate(NevoDecorator.kt:65)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4487)
01-31 15:41:47.736  3815  3815 E AndroidRuntime: 	... 9 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.