基于android平台的“无间盗”防盗软件——地图追踪及远程指令毕业论文(编辑修改稿)内容摘要:

追 踪 项是选 择 更 换 S I M 卡短 信 通 知是启 动 本 机 开 机 自 检S I M 卡 信 息输 入 要 追 踪 的 手 机号 码 以 及 密 码否忘 记 密 码否取 数 据发 送 远 程 指 令密 码 存 储 文 件作 对 比发 送 密 码到 安 全 手 机否是启 动 远 程 追 踪输 入 安 全 手 机 号 码设 置 安 全 手 机否格 式 化 手 机是否输 入 要 丢 失 的 手 机号 码 以 及 密 码收 到 丢 失 手 机 的 确定 信 息确 定 格 式 化发 送 确 定 格 式 化 指令取 消 格 式 化 手 机是是否 图 31 远程追踪指令 模块流程图 8 . 模块详细设计 . 指令接收器的设计与实现 指令接收器的核心类是 SmsReceiver,该类是自定义的广播接收器,继承 Android中的 BroastReceiver,是程序远程控制指令的核心类,主要用于接收和解析收到的指令短信,对非指令短信进行过滤;此类的使用首先是在 文件进行注册,这样就可以保证当 Android 系统接收到短息,向所有程序发出短信广播的时候,本程序能接收到短信广播和广播夹带的文本。 (1) 广播注册代码: receiver android:name=. intentfilter android:priority=2147483647 action android:name= / /intentfilter /receiver 其中 android:priority 为广播的优先级,将此优先级别设置较高的参数,保证本程序能够拦截短信并对特定 短信进行解析。 (2) 功能代码: public void onReceive(Context context, Intent intent){ //判断传来 Intent是否为短信 if (().equals(SMSACTION)){ Bundle bundle = ()。 //接收由 Intent传来的数据 //判断 Intent是有数据 if (bundle != null) { //pdus为 android内置短信参数 identifier,通过 ()返回一包含 pdus的对象 Object[] smsObject = (Object[]) (pdus)。 //构造短信对象 SmsMessage[] messages = new SmsMessage[]。 for (int i = 0。 i。 i++) { 9 messages[i] = ((byte[]) smsObject[i])。 } for (SmsMessage currentMessage : messages) { if(().length()10){ String substr = ().substring(0,10)。 if((wujiandao*)){ //屏蔽指令短信,以防干扰其他应用程序 abortBroadcast()。 Intent myIntent = new Intent(context,)。 .............. (myIntent)。 } if(().substring(0,9).equals(Location)){ // abortBroadcast()。 //屏蔽短信 (Sys,SMS:Location)。 Intent i = new Intent(context,)。 .............. (i)。 }}}}}} . 指令业务分发器的设计与实现 指令业务分发器的核心类是 DoAfterReceiveMessage,主要是用于处理由SmsReceiver 传送过来的远程指令功能业务;本质上它是一个业务逻辑分发器,根据不同的指令,启动不同的业务功能;与此同时,它还肩负一个向安全手机反馈的功能。 (1) 获取从 SmsReceiver 传过来的短息: 10 /* 接收传递来的信息 */ private void receiveMessage() { Intent startingIntent = getIntent()。 if (startingIntent != null) { Bundle infod = ()。 if(infod!=null){ number = (sms_Address)。 messageText = (sms_Text)。 } } } (2) 分发处理从 SmsReceiver 传过来的业务请求,启动不同的业务功能: protected void onResume() { ()。 if(secret_number_acquire()== null){ sendMessage(您手机未设定密码,不能进行远程操作。 ,number)。 ()。 }else if((wujiandao*+secret_number_acquire()+*dingwei)){ .............(启动百度地图定位功能) ()。 }else if((wujiandao*+secret_number_acquire()+*baojing)){ .............(启动响铃功能) }else if((wujiandao*+secret_number_acquire()+*suoding)){ .............(启动锁屏功能) }else if((wujiandao*+secret_number_acquire()+*wipedata)){ .............(询问安全手机是否进行格式化) }else if((wujiandao*+secret_number_acquire()+*geshihua)){ .............(启动手机格式化) }else { 11 .............(用户输入的密码出错) }} . 定位器的设计与实现 定位器的主类是 MyLocation 类,主要实现的是利用百度地图 API 实现手机自我定位的一个功能,并最终获取了手机所在地的经纬度值,因为本软件使用了百度地图SDK,所以定位的功能实现也必须使用百度地图 SDK,这样定位起来的坐标点 才能与百度地图图层的地点相吻合。 图 32 定位器发送指令界面 (1) 地图管理器、定位器、搜索器的初始化: BMapManager mapManager = new BMapManager(getApplication())。 (285B415EBAB2A92293E85502150ADA7F03C777C4,new MyGeneralListener())。 mLocationManager = ()。 ((int) )。 // 初始化 MKSearch mMKSearch = new MKSearch()。 (mapManager, new MySearchListener())。 12 (2) 位置监听器的实现,获取经纬度 : mLocationListener = new LocationListener(){ public void onLocationChanged(Location location) { (Sys, MyLocation is listening.....)。 if(location!=null){ x=()。 y=()。 (Sys, 纬度 x=+x)。 (Sys, 经度 y=+y)。 Intent i2 = new Intent(。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。