项目介绍
这个app的需求就是:能够实时检测某个位置的各运营商的信号强度。主要是针对移动,联通,电信等基站等信号进行监控,实时获取4G,3G,2G信号,工程巡检人员拿着这款app到某个位置巡检后,检测当前位置的信号强度,并截屏记录下来,以便后面查看历史巡检记录。
从表面上看这app功能看似简单,但在实际开发中还是遇到许多难点的。
项目所遇到的困难
该app是基于AT指令获取各运营商信号
首先了解什么是AT指令:AT 即Attention,是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的一种调制解调器命令语言。例如移动端: 通过AT指令进行呼叫、短信、通讯录、数据业务等方面的控制。AT指令一般应用于终端设备与PC应用之间的连接与通信,简单来说就是通过发送AT指令到对应的手机硬件进行通信。
遇到的困难:
- 手头上的某款工程机上(该机无root权限,但能操作/dev/…下的设备)内置了一款应用(JSR),它就可以操作AT指令,通过反编译,知道了,这款手机调试模块映射的通信设备是 /dev/ttyUSB1。
- 可以知道android相关的设备在/dev/…下,但这些文件普通用户是无法访问的,它属于root用户组,也就是说该app需要root权限。