AccessibilityService
过年的时候大家都用红包插件来抢红包,当时我就很装逼的说这个东西我会做,其实我还是不会的,只是以前看过一片文章,知道他的原理。
链接地址
钉钉
来到新公司,于是开始使用钉钉打卡,于是我有了一个测试机。于是我就想,我能不能模拟点击进行签到。于是我就开始做:
我的想法是开启一个服务,当在设定的时间打开钉钉:
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.alibaba.android.rimet");
startActivity(LaunchIntent);
当然至于钉钉的包名是通过Android d’evice Moniter
然后就是使用AccessibilityService这个,
String className = event.getClassName().toString();
if (className.equals("com.alibaba.android.rimet.biz.home.activity.HomeActivity")) {
opendingdingPacket();
}
进入钉钉 ,我们可以通过文字以及id获得这个节点,然后设置点击事件。
问题来了
我本来以为打卡的套路也是这样,毕竟我不能测试打卡界面,我还在上班。谁知道,打卡界面是一个webview,能获得这个webview,但是如果找到该打开按钮,也就是一个小圆圈,