autojsPro(i郑k)定时任务打卡
1 ,下载autojsPro(pro版本是付费版本,autojs是免费版)
链接: https://pro.autojs.org/(pro版本下载地址)
链接: https://pan.baidu.com/s/1W5cO0SdvwbP01_Rg1jJ8yQ?pwd=1111(提取码: 1111)
2,安装vscode(主要目的为了方便进行调试)
链接: https://code.visualstudio.com/docs/?dv=win
安装之后点击扩展如果是pro版本就安装:Auto.js-Pro-Ext,普通版就安装auto-js-vscodeext
Auto.js Pro使用VSCode调试教程
具体教程请看,链接: https://blog.autojs.org/2021/07/05/vscode-debug/
免费版本的调试
连接电脑输入服务器地址(电脑ip)
打开vscode,ctrl+shift+p
以上就是autojs免费版本的链接。
代码编辑。
autojs拥有强的分析功能,可以对控件进行分析
下面展示一些 内联代码片
。
// auto.waitFor()
检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍服务启用界面,
并等待无障碍服务启动;当无障碍服务启动后脚本会继续运行。
$settings.setEnabled('stable_mode', true);
auto()//启动稳定模式
home()
className("android.widget.TextView").text("i**").findOne().click()
sleep(2500)
text("健康打卡").findOne().parent().click()
sleep(2000)
text("【学生】每日健康打卡").findOne().parent().click()
sleep(1000)
text("确定").findOne().click()
sleep(100)
className("android.view.View").text("获取当前位置").findOne().click()
sleep(1000)
className("android.view.View").text("提交").findOne().click()
home()
当然这只是很简单的一种。我们可以利用autojs软件的强大之处进行定时
当然这种情况适合屏幕解锁之后处于亮屏状态
autojs也给出了解答
我们要把手机软件关于autojs的改变成手动管理允许子启动。
更为方便的一种就是在你深夜睡眠的情况下手机自动打卡。
这种情况我们就要在睡觉之前开启我们的应用并且打开无障碍模式。
当然也需要一些特定的代码
//屏幕解锁
swipe(500,2000,500,1000,210);(我的是华为)
//如果你想要方便一点就不给手机设置密码利用autojs语句进行划动解锁
利用autojs语句进行解锁
链接: https://pro.autojs.org/docs/#/zh-cn/device?id=deviceisscreenon
device.isScreenOn()
//返回设备屏幕是否是亮着的。如果屏幕亮着,返回true; 否则返回false。
device.wakeUp()
//唤醒设备。包括唤醒设备CPU、屏幕等。可以用来点亮屏幕。
所以我们可以用一条语句进行判断(以免你定时到了你还在玩手机)
if(!device.isScreenOn())
{
device.wakeUp();
sleep(500);
swipe(500,2000,500,1000,210);
var suopingmima = "******"
for(var i = 0; i < suopingmima.length; i++)
{
var p = text(suopingmima[i].toString()).findOne().bounds();
click(p.centerX(), p.centerY());
//这两个语句是获取p的text,然后找到其坐标进行click
sleep(10);
}
}
}
最后衔接上我们所要执行的代码就行了,建议屏幕休眠时间不要调太高否则运行完成脚本就会一直亮着,当然autojs也为您提供了模拟按键,
Power()
模拟按下电源键。 此函数依赖于root权限。
在我编写这个代码的四天时间内从一开始的学习如何编写定时脚本还有从中参杂着学习了ui界面的编写以及shiziku,js调试还有JavaScript函数。我真的一开始就只是想编写一个脚本来每日打卡从而不用被人提醒。最后一个坑就是应用自启动以及手动管理的区别的混淆(调试没错的代码俩小时,结果开了自启动)
happy endding
(区别:自动管理应用:打开全部自动管理或部分应用的开关,可自动分析应用的使用情况,及时禁止自启动、关联启动或后台活动。手动管理应用:未打开全部自动管理时,点击应用的开关,可根据您的需要打开或关闭应用的自启动、关联启动或后台活动。)