首先对整个小项目做一下简单的架构分析:
1.整个项目前端包括两种客户端,监控端和被监控端,后台服务器当然少不了
2.架构的总体思路就是被监控监听通话和短信(后续会有对qq和微信的监听),并上传数据到服务器,
监控端定时向服务器发送请求获取最新数据,并显示给监控端,监控端可以看到被监控端的详细通话信息
和短信等内容,包括通话音频文件,监控端可以监控多个手机号,也可以是多台设备
3.在被监控端安装软件就看自己啦,首次安装要获取全部需要的权限,程序在后台运行(Service层),没有界面,
开机后程序会自动在后台运行
二:
那么就先从被监控端说起吧
1.从Activity启动监听通话的Service和监听短信的Service
2.Service层先说监听通话的Service,也算是对上一篇文章的修改和补充吧
在Service的onCreate()方法中初始化成员变量
MediaRecorder(录制通话音频),TelephonyManager,
MyPhoneStateListener,以及通话信息实体类等
MyMediaRecorder是对MediaRecorder的简单封装,主要用到start()和end(),开始录音和结束录音
MyPhoneStateListener是核心类,通话时的回调方法都在此类里,逻辑处理看起来有点乱
setPrperties()的功能就是在通话结束后,为CallInfo这个成员变量赋值,
不在onCallStateChanged()中设置CallInfo的属性值,以免代码混乱
此处用到了第三方组件,Json转换相关的Gson组件和网络请求相关的OKHttpUtils组件,
详细学习的可以去github
上传成功后删除本地音频文件(避免被发现),这就算完成一次通话监听,reset()一下,继续下一次监听。
三:
下一步就涉及到服务器端了,服务器主要框架用spring4,jpa,springData和Hibernate。
关于:中科研拓
深圳市中科研拓科技有限公司专注提供软件+硬件结合系统解决方案定制开发服务,其中包括:软件外包、软件开发、软件定制、硬件开发、硬件定制、智能硬件开发、物联网项目等开发外包服务,通过IT技术实现创造客户和社会的价值,成为优秀的软件公司,通过客户需求导向、开放式创新、卓越运营管理等战略的实施,全面打造公司的核心竞争力。优秀软件外包公司、软件开发公司,联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com