来自安卓的神器-thanox 以及如何使用它解决qq消息代收(magisk and xposed)
  8F8WgOeHzLcH 2023年11月02日 21 0

首先感谢thanox的开发大大@Tornaco 还有酷友@cherish0319


全文使用TIM作为例子,如你使用的是QQ请自行替换包名


**应用场景**


- 使用手机的主要目的是接收信息提醒

- 只会接收私信和群聊的艾特信息

- 后面也会有消息刷新的方案,耗电可能增加


**步骤一**


- 安装并登录[qq手表版](https://lehhx.lanzouj.com/iiQH207y2f2b)注意,是在手机上

- 使用qq手表的开机自启动情景模式和保活模式

```thanox

[

{

"name": "开机自启动qq手表",

"description": "qq手表启动推送服务",

"priority": 2,

"condition": "systemReady==true",

"actions": [

"su.exe(\"am start-foreground-service com.tencent.qqlite/com.tencent.mobileqq.app.CoreService\")",

"su.exe(\"am start-foreground-service com.tencent.qqlite/com.tencent.mobileqq.msf.service.MsfService\")"

]

}

]

```


```thanox

[

{

"name": "保活qq手表",

"description": "qq手表",

"priority": 2,

"condition": "pkgKilled == true && pkgName == \"com.tencent.qqlite\"",

"actions": [

"su.exe(\"am start-foreground-service com.tencent.qqlite/com.tencent.mobileqq.app.CoreService\")",

"su.exe(\"am start-foreground-service com.tencent.qqlite/com.tencent.mobileqq.msf.service.MsfService\")"

]

}

]

```

```thanox

[

{

"name": "保活qq手表",

"description": "beta2",

"priority": 2,

"condition": "thanos.activityManager.isPackageRunning(\"com.tencent.qqlite\") == false",

"actions": [

"su.exe(\"am start-foreground-service com.tencent.qqlite/com.tencent.mobileqq.app.CoreService\")",

"su.exe(\"am start-foreground-service com.tencent.qqlite/com.tencent.mobileqq.msf.service.MsfService\")"

]

}

]

```

ps:这里有两个保活只需要使用一个,两种不同的写法而已


**步骤二**


- 明确自己的需求选用不同的模式

- 模式一:不拉起tim后台,仅第一条可以看见消息内容,后续有提醒但是没有详情

```thanox

[

{

"name": "1检测到qq推送通知拉起tim",

"description": "模式1不拉起后台",

"priority": 2,

"condition": "notificationAdded == true && pkgName == \"com.tencent.qqlite\"",

"actions": [

"if(thanos.activityManager.isPackageRunning(\"com.tencent.tim\") == false && !thanos.windowManager.hasVisibleWindows(\"com.tencent.tim\")){ui.showNotification((pkgName) + System.currentTimeMillis(),(notificationTitle),(notificationContent),\"TIM\",\"com.tencent.tim\",null,\"ic_chat_1_line\",true,true,true);}"

]

}

]

```

- 模式二:拉起TIM后台,在TIM没有后台的情况下代收第一条消息,后续拉起TIM让TIM自己本身推送通知

```thanox

[

{

"name": "2检测到qq推送通知拉起tim",

"description": "模式2拉起后台",

"priority": 2,

"condition": "notificationAdded == true && pkgName == \"com.tencent.qqlite\"",

"actions": [

"if(thanos.activityManager.isPackageRunning(\"com.tencent.tim\") == false && !thanos.windowManager.hasVisibleWindows(\"com.tencent.tim\")){ui.showNotification((pkgName) + System.currentTimeMillis(),(notificationTitle),(notificationContent),\"TIM\",\"com.tencent.tim\",null,\"ic_chat_1_line\",true,true,true);su.exe(\"am start-foreground-service com.tencent.tim/com.tencent.mobileqq.app.CoreService\");}"

]

}

]

```

- 模式三:不拉起TIM后台,但是可接收多条消息详情,实现原理为杀掉qq手表的进程,配合手表保活模式接收新的消息

```thanox

[

{

"name": "qq手表推送,带消息刷新",

"description": "模式3不拉起tim后台",

"priority": 2,

"condition": "notificationAdded == true && pkgName == \"com.tencent.qqlite\"",

"actions": [

"if(thanos.activityManager.isPackageRunning(\"com.tencent.tim\") == false && !thanos.windowManager.hasVisibleWindows(\"com.tencent.tim\")){ui.showNotification((pkgName) + System.currentTimeMillis(),(notificationTitle),(notificationContent),\"TIM\",\"com.tencent.tim\",null,\"ic_chat_1_line\",true,true,true);killer.killPackage(\"com.tencent.qqlite\")}"

]

}

]

```

ps:该情景模式通过捕捉qq手表的通知进行转发,所以你会看到两条通知,一条来自qq手表本身,另一条来自转发,你可以使用通知滤盒或者在安卓系统设置里面将qq手表通知的重要性设为低


- 模式四:有些人并不想使用通知滤盒或者系统并不能更改通知重要性,本模式在模式三的基础上新增取消通知,来自thanox开发者,实现可能并不完美,具体效果自测

```thanox

[

{

"name": "qq手表推送,带消息刷新",

"description": "模式4不拉起tim后台,取消qq手表通知",

"priority": 2,

"condition": "notificationAdded == true && pkgName == \"com.tencent.qqlite\"",

"actions": [

"if(thanos.activityManager.isPackageRunning(\"com.tencent.tim\") == false && !thanos.windowManager.hasVisibleWindows(\"com.tencent.tim\")){ui.showNotification((pkgName) + System.currentTimeMillis(),(notificationTitle),(notificationContent),\"TIM\",\"com.tencent.tim\",null,\"ic_chat_1_line\",true,true,true);android.app.INotificationManager.Stub.asInterface(android.os.ServiceManager.getService(\"notification\")).cancelAllNotifications(\"com.tencent.qqlite\", 0);killer.killPackage(\"com.tencent.qqlite\")}",

"android.app.INotificationManager.Stub.asInterface(android.os.ServiceManager.getService(\"notification\")).cancelAllNotifications(\"com.tencent.qqlite\", 0)"

]

}

]

```



本文到此结束

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
8F8WgOeHzLcH
最新推荐 更多