From ab2ad906e767f188c70c33e22224104b5c2c0135 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Fri, 21 Jul 2017 12:55:33 +0800 Subject: [PATCH] fix and add some scripts --- app/build.gradle | 4 +- .../documentation/事件与按键、触摸监听.md | 34 +++++------- .../assets/sample/QQ与微信/循环发送消息.js | 1 - .../assets/sample/QQ与微信/自动取消金豆.js | 10 ++++ .../assets/sample/其他应用/贴吧一键签到.js | 55 +++++++++++-------- app/src/main/res/values-en/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 7 files changed, 61 insertions(+), 47 deletions(-) create mode 100644 app/src/main/assets/sample/QQ与微信/自动取消金豆.js diff --git a/app/build.gradle b/app/build.gradle index da573077..2a46fe0a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "com.stardust.scriptdroid" minSdkVersion 17 targetSdkVersion 23 - versionCode 152 - versionName "2.0.15 Alpha" + versionCode 153 + versionName "2.0.15 Beta" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true ndk { diff --git a/app/src/main/assets/help/documentation/事件与按键、触摸监听.md b/app/src/main/assets/help/documentation/事件与按键、触摸监听.md index a43221ee..cb792810 100644 --- a/app/src/main/assets/help/documentation/事件与按键、触摸监听.md +++ b/app/src/main/assets/help/documentation/事件与按键、触摸监听.md @@ -8,6 +8,21 @@ events也是一个\[EventEmitter\](#EventEmitter),可以使用EventEmitter的所有函数,这里只介绍其自身的函数。 +注意,events内置的触摸、按键事件必须调用loop()函数才能正常工作。例如: +``` +events.observeKey(); +events.onKeyDown("volume_up", function(event){ + toast("音量上键被按下了"); +}); +events.onKeyDown("menu", function(event){ + toast("菜单键被按下了"); +}); + +loop(); +//后面的语句不会再执行了 +``` + + ### events.emitter() 返回一个新的EventEmitter。 @@ -18,25 +33,6 @@ events也是一个\[EventEmitter\](#EventEmitter),可以使用EventEmitter的 在安卓4.3以上才能使用。 -### events.loop() - -开始事件处理循环。**在events注册按键、触摸事件监听后必须调用该函数开始事件处理循环,否则相应事件发生时不会处理。** - -该函数是一个"死循环",调用后后面的语句将不再执行。 - -例子: -``` -events.observeKey(); -events.onKeyDown("volume_up", function(event){ - toast("音量上键被按下了"); -}); -events.onKeyDown("menu", function(event){ - toast("菜单键被按下了"); -}); -events.loop(); -//后面的语句不会再执行了 -``` - ### events.onKeyDown(keyName, listener) * keyName \ 要监听的按键名称 * listener \ 参数为一个[KeyEvent](#KeyEvent) diff --git a/app/src/main/assets/sample/QQ与微信/循环发送消息.js b/app/src/main/assets/sample/QQ与微信/循环发送消息.js index c7a3ec26..0dadf495 100644 --- a/app/src/main/assets/sample/QQ与微信/循环发送消息.js +++ b/app/src/main/assets/sample/QQ与微信/循环发送消息.js @@ -7,5 +7,4 @@ sleep(500); while(true){ setText("我喜欢你"); click("发送"); - sleep(100); } \ No newline at end of file diff --git a/app/src/main/assets/sample/QQ与微信/自动取消金豆.js b/app/src/main/assets/sample/QQ与微信/自动取消金豆.js new file mode 100644 index 00000000..dca7d488 --- /dev/null +++ b/app/src/main/assets/sample/QQ与微信/自动取消金豆.js @@ -0,0 +1,10 @@ +"auto"; + +toast("本脚本需要和名片点赞脚本同时运行才有效"); + +while(true){ + if(currentActivity() == "com.tencent.mobileqq.activity.VisitorsActivity"){ + click("取消"); + sleep(300); + } +} \ No newline at end of file diff --git a/app/src/main/assets/sample/其他应用/贴吧一键签到.js b/app/src/main/assets/sample/其他应用/贴吧一键签到.js index 5921958a..b6e784cb 100644 --- a/app/src/main/assets/sample/其他应用/贴吧一键签到.js +++ b/app/src/main/assets/sample/其他应用/贴吧一键签到.js @@ -2,39 +2,48 @@ launchApp("百度贴吧"); sleep(1000); -while(!click("进吧")); +id("tabcontainer").untilFind().each(function(tab){ + if(tab.childCount() != 5){ + return; + } + var ba = tab.child(1); + if(ba){ + ba.click(); + } +}); toast("开始签到"); var signed = {}; while(true){ - var list = id("fragment_pager").findOne().findOne(id("listview")); + var list = id("tab_content").findOne().findOne(id("listview")); list.children().each(function(child){ - if(child && child.className().endsWith("RelativeLayout")){ + if(child && child.className().endsWith("LinearLayout")){ if(child.childCount() > 1){ - sign(child); + sign(child.findOne(id("left_container"))); + sign(child.findOne(id("right_container"))); } } }); list.scrollForward(); } - -function sign(child){ - var li = child.child(1); - if(li && li.childCount() > 0){ - var name = li.child(0).text(); - if(signed[name]){ - return; - } - child.click(); - sleep(400); - for(var i = 0; i < 3; i ++){ - if(click("签到")){ - break; - } - sleep(200); - } - sleep(400); - while(!back()); - signed[name] = true; + +function sign(c){ + if(!c){ + return; + } + var name = c.child(0).text(); + if(signed[name]){ + return; + } + c.click(); + sleep(400); + for(var i = 0; i < 3; i ++){ + if(click("签到")){ + break; } + sleep(200); + } + sleep(600); + while(!back()); + signed[name] = true; } \ No newline at end of file diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index f4b7e1fc..3b0dd3b8 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -1,5 +1,5 @@ - AutoJs + Auto.js Settings Required by the script automatic operation (click, long press, slide, etc.). New File diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 519847af..ab5a457a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - AutoJs + Auto.js 设置 新建文件 从文件导入