酷安APP 发现科技新生活

LuckyLuke1021

2022-09-07 

#墓碑模式# #Thanox情景模式# #THANOX# 几款使用墓碑模式需要的辅助工具...
使用墓碑模式时,你是否知道系统杀了哪些应用?是否后台卡片好多已经被杀死了,还留在那里,点一下时才发现又是热启动,逼死强迫症?刚开机时是否打开最近任务一看好多卡片,但是这些卡片实际上都没有启动,看着很碍眼?有些应用设置了开机自启,但是却死活没启动?你需要手动一个个打开应用来测试保后台能力?为了解决这些问题,我写了一批thanox的情景模式。
1,应用被后台杀死,记录被杀死的应用和被杀死的时间到日志文件里。该情景模式不记录你自己划走卡片杀死的应用,只记录在最近任务里被后台杀死的应用。如何查看?日志文件路径"/data/system/thanos_ynokiMHEVHZWWdDH/profile_user_io/kill/killLog.txt",打开日志文件即可查看。代码如下,请用情景模式json编写。
[
{
"name": "应用被杀死,则移除卡片",
"description": "应用被后台杀死时,移除卡片,历史写入日志",
"priority": 1,
"condition": "pkgKilled == true && globalVarOf$s_app.contains(pkgName) && task.hasTaskFromPackage(pkgName)",
"actions": [
"task.removeTasksForPackage(pkgName);",
"io.writeAppend(\"kill/killLog.txt\",pkgName+\"应用被后台杀死,移除卡片,移除时间:\"+ new java.util.Date() +\"\\r\")"
]
}
]
以上复制到json,然后开启就可以了。
2,开关屏日志,该情景模式记录你开屏和关屏的时间到日志里,这样你可以更直观的知道应用是在亮屏时候杀死的还是灭屏后杀死的。使用方法和日志路径与1相同,json代码如下:
[
{
"name": "开关屏日志",
"description": "冻结对象来自dongjie变量",
"priority": 1,
"condition": "if(screenOff == true){io.writeAppend(\"kill/killLog.txt\",\"手机在此时间关屏:\"+ new java.util.Date() +\"\\r\")}else if(screenOn== true || userPresent == true){io.writeAppend(\"kill/killLog.txt\",\"手机在此时间打开屏幕:\"+ new java.util.Date() +\"\\r\")}",
"actions": [
""
]
}
]
3,开机划掉没有运行的卡片,并且删除旧日志,同时后台开启一些需要自启动的应用。使用方法,全局变量: all_app 是开机后需要在最近任务划掉的应用集; ziqidong 是开机需要后台启动的应用集。代码如下:
[
{
"name": "开机工作",
"description": "开机自启动一些程序,来自变量名ziqidong,划掉除去变量all_app的卡片,此变量除去了微信,删除一些日志",
"priority": 3,
"condition": "systemReady == true",
"delay": 1000,
"actions": [
"foreach (pkn : globalVarOf$all_app){task.removeTasksForPackage(pkn);}",
"ui.showShortToast(\"清理卡片完成\")",
"foreach (zq : globalVarOf$ziqidong){activity.launchProcessForPackage(zq)}",
"ui.showShortToast(\"自启动应用完成\")",
"io.write(\"kill/killLog.txt\", \"本次启动时间:\" + new java.util.Date() + \"\\r\")",
"ui.showShortToast(\"重置日志完成\")"
]
}
]

4,应用保活,把需要保活的应用放在 全局变量: baohuo里面,当应用被杀死后,该应用就会重新启动。代码如下:
[
{
"name": "应用保活",
"description": "应用被杀死则启动其进程",
"priority": 1,
"condition": "pkgKilled == true && globalVarOf$baohuo.contains(pkgName)",
"delay": 1000,
"actions": [
"activity.launchProcessForPackage(pkgName)",
"ui.showShortToast(\"启动了:\" + pkgName)"
]
}
]
5,游戏时清理一些顽固后台,变量notNitian_apps放需要被杀的应用,注意该应用如果在最近任务,将不会被杀。变量qlapps是你要打卡的游戏应用或其他应用。代码如下:
[
{
"name": "游戏时清理部分后台",
"description": "游戏时清理部分不在卡片的后台",
"priority": 2,
"condition": "frontPkgChanged=true && globalVarOf$qlapps.contains(to)",
"actions": [
"ui.showShortToast(\"清理一些后台中\");",
"foreach (pkn : globalVarOf$notNitian_apps) {if (su.exe('pidof ' + pkn).out != [] && ! task.hasTaskFromPackage(pkn)) {su.exe(\"kill -15 $(ps -ATf | grep \" + pkn + \" | grep -v grep | awk '{print $2}' | sort | uniq)\");};}"
]
}
]
6,一键启动很多很多应用,每隔4秒启动一个应用,把需要启动的应用放在变量 hd 里面,新建一个qdyy 的快捷应用连接,快捷名字随意。代码如下:
[
{
"name": "一键启动很多应用",
"description": "监听一个快捷方式启动事件",
"priority": -1,
"condition": "shortcutLaunched == true && shortcutValue == \"qdyy\"",
"actions": [
"foreach (pkn : globalVarOf$hd){ui.showShortToast(\"启动中\");Thread.sleep(4000);activity.launchMainActivityForPackage(pkn)}"
]
}
]
最后,如果你不知道怎么设置全局变量:
1,全局变量设置:打开情景模式>>>点击右上方三个小点>>>点击全局变量>>>点击右下角➕号>>>点击右上方三个点>>>点击选取应用,找到相关应用点完成>>>屏幕上方输入变量名称>>>点击右下角保存。
2,快捷键设置:
1,情景模式右上方三个点>>>引擎>>>从快捷方式>>>取一个快捷方式的名字>>>FACTVALUE输入变量名;如上文的6中提及的qdyy。