diff --git a/app/src/main/java/com/duolebo/blyrobot/data/Task.kt b/app/src/main/java/com/duolebo/blyrobot/data/Task.kt index d7d1578c31ed9c3f2d3560d9eb5b1e9f063a99b7..e4dd4f7b2fe5c8a7a3e4c18d7ab92353bd5de925 100644 --- a/app/src/main/java/com/duolebo/blyrobot/data/Task.kt +++ b/app/src/main/java/com/duolebo/blyrobot/data/Task.kt @@ -32,7 +32,8 @@ class Task : IAppBaseCallback { "3" to "截图失败", "4" to "图片上传中", "5" to "上报失败", - "6" to "处理完成") + "6" to "处理完成", + "7" to "手动停止") lateinit var apkInfo: ApkInfo // 截图存放路径 @@ -96,7 +97,10 @@ class Task : IAppBaseCallback { val success = this.processChannels(0) // 再次尝试 if (!success) { - this.launchApp() + if (this.status == "7") + return + + this.launchApp(true) // 重新切换到上次崩溃的频道,接着抓取 for (i in 0 until this.channelIndex) { AdbUtil.sendMultiKey(this.apkInfo.channelKeyEvent) @@ -133,6 +137,7 @@ class Task : IAppBaseCallback { fun destroy() { // 杀掉tcpdump进程 + this.status = "7" AdbUtil.killTcpdump() // 退出应用 @@ -175,6 +180,9 @@ class Task : IAppBaseCallback { Log.i(TAG, "processChannels") step() for (i in index + 1 until this.apkInfo.channelCount) { + + if (this.status == "7") + return false // 模拟按键事件. 切换频道进行抓取 this.channelIndex = i capture(apkInfo.captureDelay)