Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dev] 在QQNT版本上适配MessagingStyle通知的对话泡功能时遇到困难 #1268

Open
2 tasks done
NativeStar opened this issue Dec 10, 2024 · 0 comments
Open
2 tasks done
Labels
dev development issues

Comments

@NativeStar
Copy link

NativeStar commented Dec 10, 2024

描述 / Description

本人尝试在QQNT版本上修复旧版本可用的MessageingStyle通知的对话泡功能时遇到了超出个人能力的问题
具体情况为:如果点开对话泡时QQ进程仍在运行 打开的对话泡将在1秒内自行关闭 只有在收到消息后手动将QQ进程终止再点开已经显示在屏幕上的对话泡才能正常打开
而且即使正常打开了一个对话泡 如果此时另一个联系人发来消息 新弹出的对话泡会跟上面描述的一样在1秒内自行关闭(之前打开的不受影响)
如果按这种情况想跟非NT版一样使用对话泡 首先得保证QQ后台存活(系统统一推送的不会变成MessagingStyle通知) 并且要在收到通知后手动停止QQ进程再点开对话泡才能使用 即使这么做也无法跟之前那样快速切换各种联系人的聊天页面(最大优势没了)

使用的QQ版本为9.0.75 Android版本15 手机Redmi K50(HyperOS 1.0.12.0)

一开始尝试故意触发自动关闭后在logcat内查找信息 但找不到内容与功能有关的崩溃日志 模块设置页的"功能异常列表"中也显示"未见明显异常"

随后怀疑是QQ在打开相关Activity时进行了相关检测并在符合条件时进行关闭 尝试hook com.tencent.mobileqq.activity.ScaleAIOActivity(对话泡打开的Activity)和com.tencent.mobileqq.activity.QPublicFragmentActivity的finish方法插入日志并取消其执行 结果是问题依旧且插入的日志未被打印

又尝试hook com.tencent.shadow.core.runtime.container.GeneratedHostActivityDelegator#superIsLaunchedFromBubble 依旧无效

下面压缩包包含修改后的MessagingStyleNotification.kt文件(只改动了这文件) 编译出的debugapk 以及正常打开、打开后自动关闭的日志文件各一
issue.zip

追加:刚发现的特殊之处 在触发自动关闭bug时 似乎会把触发对话泡通知重发一遍(在自己做的手机通知转发软件发现的)
屏幕截图 2024-12-11 003222
图中"hhh"和"log"都是触发自动关闭的通知 其中第二条是在点开对话泡后出现的 而"close"是正常打开时的推送
(该软件注册一个NotificationListenerService并重写onNotificationPosted方法将其中的部分信息发送到电脑上)

谢谢

其他要求 / Other Requirements

  • 我已经在 Issue Tracker 中找过我要提出的问题,没有找到相同问题。重复问题会被关闭。
  • 我知晓此 Issue 模板仅限开发者使用,普通用户请使用问题反馈或功能请求模板。 / I know this issue template is for developers only. Regular users should use the bug report or feature request template.
@NativeStar NativeStar added the dev development issues label Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev development issues
Projects
None yet
Development

No branches or pull requests

1 participant