/*
Time: 2021年11月8日20:50:35
By : MemoryEr qq:1762272313
Mode: Android 免 root 連點器
Statement:
[免責宣告] 僅供技術交流學習 請勿用于商業或非法用途 否則y一切后果自負.
*/
"ui";
ui.layout(
<vertical>
<appbar>
<toolbar title="LongClick" />
</appbar>
<Switch id="autoService" text="無障礙服務" checked="{{auto.service != null}}" padding="8 8 8 8" textSize="15sp" />
<frame height="30" gravity="center">
<text text="version:v.1.0" gravity="center" />
</frame>
<vertical padding="15">
<text textSize="15sp" textColor="black" text="請輸入點擊次數[0=不限]:" />
<input id="ClickNumber" text="0" />
</vertical>
<vertical padding="15">
<text textSize="15sp" textColor="black" text="請輸入點擊坐標X:" />
<input id="ClickintX" text="640" />
</vertical>
<vertical padding="15">
<text textSize="15sp" textColor="black" text="請輸入點擊坐標Y:" />
<input id="ClickintY" text="270" />
</vertical>
<vertical padding="15">
<text textSize="15sp" textColor="black" text="請輸入點擊間隔[毫秒]:" />
<input id="ClickSleep" text="10" />
</vertical>
<button id="save" text="保存配置" />
<button id="start" text="開始運行" />
</vertical>
);
ui.autoService.on("check", function (checked) {
if (checked && auto.service == null) {
app.startActivity({
action: "android.settings.ACCESSIBILITY_SETTINGS"
});
}
if (!checked && auto.service != null) {
auto.service.disableSelf();
}
});
// 用戶勾選無障礙服務的選項時,跳轉到頁面讓用戶去開啟
ui.emitter.on("resume", function () {
ui.autoService.checked = auto.service != null;
});
// 當用戶回到本界面時,resume事件會被觸發
// 此時根據無障礙服務的開啟情況,同步開關的狀態
ui.save.on("click", function () {
threads.start(function () {
var Set_ClickNumber = ui.ClickNumber.text();
var Set_ClickintX = ui.ClickintX.text();
var Set_ClickintY = ui.ClickintY.text();
var Set_ClickSleep = ui.ClickSleep.text();
pz.put("Set_ClickNumber", Set_ClickNumber)
pz.put("Set_ClickintX", Set_ClickintX)
pz.put("Set_ClickintY", Set_ClickintY)
pz.put("Set_ClickSleep", Set_ClickSleep)
toast("配置保存成功")
sleep(2000)
});
}
);
var pz = storages.create("pz")
//本地存盤
var Get_Set_ClickNumber = pz.get("Set_ClickNumber")
if (Get_Set_ClickNumber) {
ui.ClickNumber.setText(Get_Set_ClickNumber)
}
var Get_Set_ClickintX = pz.get("Set_ClickintX")
if (Get_Set_ClickintX) {
ui.ClickintX.setText(Get_Set_ClickintX)
}
var Get_Set_ClickintY = pz.get("Set_ClickintY")
if (Get_Set_ClickintY) {
ui.ClickintY.setText(Get_Set_ClickintY)
}
var Get_Set_ClickSleep = pz.get("Set_ClickSleep")
if (Get_Set_ClickNumber) {
ui.ClickSleep.setText(Get_Set_ClickSleep)
}
//讀取歷史
ui.start.on("click", function () {
var Set_ClickNumber = ui.ClickNumber.text();
var Set_ClickintX = ui.ClickintX.text();
var Set_ClickintY = ui.ClickintY.text();
var Set_ClickSleep = ui.ClickSleep.text();
pz.put("Set_ClickNumber", Set_ClickNumber)
pz.put("Set_ClickintX", Set_ClickintX)
pz.put("Set_ClickintY", Set_ClickintY)
pz.put("Set_ClickSleep", Set_ClickSleep)
events.observeKey();
//啟用按鍵監聽
events.onKeyDown("volume_up", function (event) {
toastLog("終止運行");
exit();
});
//監聽音量上鍵按下
events.on("exit", function () {
toastLog("終止運行");
console.hide();
//關閉控制臺
threads.shutDownAll()
//停止所有通過threads.start() 啟動的子執行緒
});
//事件監聽: 終止函式
threads.start(function () {
main()
})
//程式主函式
})
function main() {
var Set_ClickNumber = Number(ui.ClickNumber.text());
var Set_ClickintX = Number(ui.ClickintX.text());
var Set_ClickintY = Number(ui.ClickintY.text());
var Set_ClickSleep = Number(ui.ClickSleep.text());
var GuNumber = 0
for (var a = 0; a < 20; a++) {
toastLog("溫馨提示: " + a + " / 20 秒后開始運行")
sleep(1000)
}
if (Set_ClickNumber == 0) {
while (true) {
click(Set_ClickintX, Set_ClickintY)
GuNumber = GuNumber + 1
toastLog("作業: " + GuNumber)
//若想提高速度,請注釋掉上一行代碼.
sleep(Set_ClickSleep)
}
}
else {
for (var n = 0; n < Set_ClickNumber; n++) {
click(Set_ClickintX, Set_ClickintY)
GuNumber = GuNumber + 1
toastLog("作業: " + GuNumber)
//若想提高速度,請注釋掉上一行代碼.
sleep(Set_ClickSleep)
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/353438.html
標籤:其他
上一篇:修改app應用的圖示與名字
