钉钉自动打卡的一种实现
2018-07-20 本文已影响421人
jsync
背景
公司最近使用了钉钉的部分oa,人事强制使用钉钉app进行打卡操作!每日重复的操作又太过于麻烦,而且时不时还会漏几次,一个月申请补卡只有三次,多余的就要扣工资了。既然如此,为何不来一个自动帮我们打卡的神器呢?废话到此结束
方案
1最先想到的是,获取到钉钉打卡的接口,将我们的参数直接传到钉钉后台,这估计是最开始想到的,但是实现起来好像不那么简单,这个接口我没扒取到,但是好像有人弄到了,这种实现方式请看这第一种实现。但是缺点显而易见,这个大佬要收费,只有体验版,我也懒得去反编译了,因为下班打卡还有毛病,只能android7.0以上的能用。此方法到此为止!
2基于上面那个大佬的想法,我又看到了一篇关于自动打卡的文章,他是当闹钟响起的时候,解锁,打开钉钉,模拟屏幕滑动点击等操作,这是第二种实现.缺点:需要结合触动精灵使用,后台无法保证,需要root。
本文解决方式
本文是基于第二种的实现方式进行的,原理上面已经提到了,监听闹钟广播,闹钟响起的时候,解锁,并打开钉钉app,然后模拟屏幕点击,滑动等操作,最后关闭钉钉。
技术要点
我们必须要保证我们的app能一直在后台运行,当然要进行系统设置,运行我们的app能后台运行,然后为了防止进程被干掉,我们伪装自己的服务,加入到系统白名单。这里我选的uu加速器的服务,说实话,并不知道有没有效果,反正我清理掉后台,还在运行中。
准备操作
你需要一台可以root的老机器(舍得新机也可以),
1安装app。
3设置打卡闹钟,比如9:00上班,你可以设置成8:30和8:45,多个闹钟,当然,请把你的闹钟设为静音并且不重复提示,下班同理,保证手机一直有电,最好一直放在公司。(带身上也可以,但是保证那个时间段你要在打卡区域,网速也要通畅!你需要一个4年前的android废手机)
注意
本文旨在介绍钉钉打自动打卡的实现,下面的demo没有做适配,可能大部分手机都无法使用,若是有需要,请联系我,(最好是自己修改代码实现!)