前两天公司开始宣布要使用阿里钉钉来签到啦!!!~~这就意味着,我必须老老实实每天按时签到上班下班了,这真是一个悲伤的消息,可是!!!!那么机智(lan)的我,怎么可能就这么屈服!!!阿里钉钉签到,说到底不就是手机软件签到吗?我就是干移动开发的,做一个小应用每天自动签到不就行了:)
说干就干,首先分析一下,阿里钉钉的签到流程: 打开阿里钉钉- 广告页停留2S左右- 进入主页- 点击“工作”tab- 点击“签到”模块- 进入签到页面(可能会再次出现广告和对话框)- 点击签到
我们操作手机的过程就是这样,要实现这些点击,很自然想起了前段时间做的微信抢红包小应用,利用AccessibilityService服务帮助我们实现这些自动化操作。
以上是分析过程,接下来是我对这个小功能实现的具体方案思路:
将测试手机放公司并且安装这个应用,通过我远程的电话拨打或者短信发送到测试手机(只要能产生广播或者信息的就行),测试手机接受到广播信息,唤醒钉钉,进入钉钉页面,AccessibilityService开始工作,进行一系列点击签到操作,结束操作后退出钉钉,签到完成。
通过以上过程的分析我们大概要用到的知识有以下几块:
\1. 唤醒非自己的其他第三方应用
\2. 广播
\3. AccessibilityService服务
以下是对这三部分代码实现:
唤醒第三方应用
代码语言:javascript
接受电话广播并且唤醒钉钉:
mainifest先注册监听器
代码语言:javascript
相关权限
代码语言:javascript
代码
代码语言:javascript
AccessibilityService服务实现:
相关权限及注册:
代码语言:javascript
需要在res文件夹下新建一个xml文件夹里面放入一个这样的xml配置文件:
代码语言:javascript
代码:
代码语言:javascript
以上基本是所有代码,这个小程序中可以不用Activity组件,也可以加一个小的Activity,用来作为系统的总开关,当然也可以自动检测时间,来判断是否开启服务,这样就不用Activity了,在这个小例子中,我使用了一个小activity,就放了一个button。
项目源码
以上就是本文的全部内容,希望对大家的学习有所帮助。
更多Android进阶指南 可以扫码 解锁 《Android十大板块文档》
1.Android车载应用开发系统学习指南(附项目实战)
2.Android Framework学习指南,助力成为系统级开发高手
3.2024最新Android中高级面试题汇总+解析,告别零offer
4.企业级Android音视频开发学习路线+项目实战(附源码)
5.Android Jetpack从入门到精通,构建高质量UI界面
6.Flutter技术解析与实战,跨平台首要之选
7.Kotlin从入门到实战,全方面提升架构基础
8.高级Android插件化与组件化(含实战教程和源码)
9.Android 性能优化实战+360°全方面性能调优
10.Android零基础入门到精通,高手进阶之路
敲代码不易,关注一下吧。ღ( ´・ᴗ・` ) 🤔