自己写一个简单的定时任务APP,在上班时间只要唤醒屏幕同时打开钉钉软件即可。(因为钉钉有极速打卡功能,就是早上到了打卡时间,只要你打开钉钉app,它就会自动帮你打上卡。)
这种实现方式的几个注意点:
1. 要使用双进程保证守护唤醒
2. 5.0以上手机要使用JobSheduler来监听线程有没有被杀死
3. 管理员如果没有开通极速打卡功能,也能实现。就是利用钉钉scheme协议直接进入到打卡页面,然后在写一个模拟触控事件,完成打卡。美滋滋。
简单贴出这种思路的代码贴图:
思路3:
思路2的话,没法控制打卡时间和周末不上班或者调休的情况。思路3则采用“远程控制”的思路来实现。(你想什么时候打卡,只要用另一台手机发送一个消息,就会立即打上卡)
刚巧之前开发了一块IM软件。IM是使用了融云的SDK,于是乎就想到了消息监听。
拷一份之前的项目,做了简单阉割。保留即时通讯功能,因为融云有很好的Service保活机制,所以可以不用考虑应用进程被杀死,道理和微信接受消息一样。
就利用消息监听,当放在公司的手机接收到我发的一个消息的时候,就会自动唤醒屏幕和打开钉钉软件。
原理就是A手机和B手机都装这个apk。B手机每发一个消息给A手机,A手机就会自动唤醒屏幕和打开钉钉软件,实现自动打卡功能。
(看到有小伙伴想看下产品,到时候我把项目中其他信息删除之后,传一个apk和源码吧,这里我就只是列了一些思路帖子。)
贴下简单代码: