/self-service

基于 MVVM + Jetpack 设计模式和组件进行开发,通过无障碍服务实现钉钉自动打卡

Primary LanguageKotlin

self-service

本项目是基于 MVVM + Jetpack 设计模式和组件进行开发,主要通过无障碍服务来实现钉钉自动打卡功能,目前只适用于 MIUI 系统

效果演示

(到点唤醒屏幕并解锁,启动钉钉打卡后息屏,全程无手动操作)

屏幕截图

下载地址

(点击跳转下载安装包)

功能介绍

  • 在用户授予相关权限并设置了考勤时间及锁屏密码后,该 APP 将会在指定时间自动唤醒屏幕并解锁,并启动钉钉进行打卡,然后息屏直到下一个打卡时间

  • 当今天所有打卡时间已过,自动停止前台服务,直到第二天凌晨将再次启动前台服务进行定时打卡

  • 周末默认不启动定时打卡前台服务,此时如有需要可通自行启动服务,支持通过快捷方式启动

具体实现

  • 通过 PowerManager 唤醒屏幕

  • 使用 MMKV 库存储手机解锁密码及考勤数据

  • 通过 AccessibilityService 模拟用户操作进行自动化解锁和打卡

  • 通过 DevicePolicyManager 息屏

  • 通过用户给予 自启动权限 + 启用无障碍服务 的方式进行保活

三方组件

Android Jetpack 组件

网络请求

依赖注入

其它

最后

⭐ 项目框架参考了优秀博主 却把清梅嗅MVVM-Architecture 并对其部分代码进行了引用.

About Me

  • Email: ziwen.lan@foxmail.com