




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE 本 科 毕 业 设 计 题目:基于(jy)Android平台的“无间(wjin)盗”防盗(fn do)软件 地图追踪及远程指令 学生姓名: 学 号:系 别:专业班级 指导教师姓名及职称:起止时间:摘 要:随着Android系统的发展和智能手机逐渐平民化,其普及率呈指数增长。Android手机市场规模的扩大所引起的手机安全和防盗的问题也愈发突出。本论文在基于Andorid平台上,运用Android短信、广播等通信机制,配合第三方地图服务商提供的地图API对智能手机进行远程指令控制和定位丢失的手机,为找到手机增加可能性,并保护失主隐私。关键词: 远程指令追踪;Android防盗;百度(b
2、i d)地图;Android广播Abstract:With the increasing popularity of Android system development and smart phones. The Android phone expansion of market scale of mobile security and anti-theft problems become more prominent. This thesis is based on Andorid platform, use Android SMS, broadcasting and other comm
3、unication mechanisms, with the Maps API provided by a third-party map service provider smart phone remote command control and positioning lost phone, to increase the possibility to find the phone, and the protection of the owner privacy. Keywords: The remote command tracking; Android anti-theft; Bai
4、du map; Android broadcastPAGE II目 录 TOC o 1-3 h z u HYPERLINK l _Toc24981 1. 绪论(xln) PAGEREF _Toc24981 1 HYPERLINK l _Toc28558 1.1. 研究意义(yy)与背景 PAGEREF _Toc28558 1 HYPERLINK l _Toc11174 1.2. 课题(kt)的目的及其意义 PAGEREF _Toc11174 1 HYPERLINK l _Toc3778 1.3. 本文的主要研究工作 PAGEREF _Toc3778 1 HYPERLINK l _Toc751
5、2. Android百度地图API PAGEREF _Toc751 2 HYPERLINK l _Toc25304 2.1. 手机地图服务 PAGEREF _Toc25304 2 HYPERLINK l _Toc3840 2.2. 定位技术 PAGEREF _Toc3840 2 HYPERLINK l _Toc25420 2.2.1. 基于GSM蜂窝基站定位 PAGEREF _Toc25420 2 HYPERLINK l _Toc26319 2.2.2. 基于GPS卫星定位 PAGEREF _Toc26319 2 HYPERLINK l _Toc31488 2.2.3. 基于WIFI热点定位
6、PAGEREF _Toc31488 3 HYPERLINK l _Toc17005 2.3. 百度地图API简介 PAGEREF _Toc17005 3 HYPERLINK l _Toc32660 3. 远程指令控制功能 PAGEREF _Toc32660 5 HYPERLINK l _Toc28554 3.1. 基本原理及设计 PAGEREF _Toc28554 5 HYPERLINK l _Toc17497 3.2. 底层平台导入和开发步骤 PAGEREF _Toc17497 6 HYPERLINK l _Toc18183 3.2.1. 申请密钥 PAGEREF _Toc18183 6 H
7、YPERLINK l _Toc11806 3.2.2. 导入.jar和.so文件 PAGEREF _Toc11806 6 HYPERLINK l _Toc5155 3.2.3. 初始化声明 PAGEREF _Toc5155 6 HYPERLINK l _Toc5672 3.3. 模块框架图 PAGEREF _Toc5672 7 HYPERLINK l _Toc8712 3.4. 模块详细设计 PAGEREF _Toc8712 8 HYPERLINK l _Toc32270 3.4.1. 指令接收器的设计与实现 PAGEREF _Toc32270 8 HYPERLINK l _Toc2751 3
8、.4.2. 指令业务分发器的设计与实现 PAGEREF _Toc2751 9 HYPERLINK l _Toc25424 3.4.3. 定位器的设计与实现 PAGEREF _Toc25424 11 HYPERLINK l _Toc31452 3.4.4. 报警响铃器的设计与实现 PAGEREF _Toc31452 12 HYPERLINK l _Toc14571 3.4.5. 手持设备权限管理器的设计与实现 PAGEREF _Toc14571 14 HYPERLINK l _Toc30553 3.4.6. SIM卡更换通知功能的设计与实现 PAGEREF _Toc30553 15 HYPERL
9、INK l _Toc32303 4. 地图追踪功能 PAGEREF _Toc32303 16 HYPERLINK l _Toc24443 4.1. 功能简介 PAGEREF _Toc24443 16 HYPERLINK l _Toc26019 4.2. 功能详细设计 PAGEREF _Toc26019 16 HYPERLINK l _Toc29367 5. 帮助与升级功能 PAGEREF _Toc29367 19 HYPERLINK l _Toc21443 5.1. 功能简介 PAGEREF _Toc21443 19 HYPERLINK l _Toc8949 5.2. 帮助功能模块 PAGER
10、EF _Toc8949 19 HYPERLINK l _Toc31951 5.3. 版本升级功能 PAGEREF _Toc31951 19 HYPERLINK l _Toc32157 6. 软件测试与使用 PAGEREF _Toc32157 20 HYPERLINK l _Toc25105 6.1. 功能操作 PAGEREF _Toc25105 20 HYPERLINK l _Toc2638 6.2. 测试用例 PAGEREF _Toc2638 21 HYPERLINK l _Toc12857 6.3. 测试结果(ji gu)与发现 PAGEREF _Toc12857 21 HYPERLINK
11、 l _Toc13376 7. 总结(zngji) PAGEREF _Toc13376 25 HYPERLINK l _Toc28103 参考文献 PAGEREF _Toc28103 26 HYPERLINK l _Toc15245 致 谢 PAGEREF _Toc15245 26PAGE 35绪论(xln)研究意义(yy)与背景随着智能移动终端发展和普及,人们试图让交互的应用伴随移动的用户在对应的空间中迁移。从全球的发展趋势来看,更高水平的基于位置服务(LBS)、基于空间定位等功能是新一代移动网络应该(ynggi)具备的,是网络业务支撑能力的一种体现,我国移动运营商更已将其视为形象工程。LB
12、S依赖于高精度定位技术的发展,随着定位技术的发展和人们网络社交心理、行为的成熟;LBS将更加实用化,所衍生出的服务和产业链将更加丰富和广阔,为用户提供随时随身的服务。课题的目的及其意义基于地图位置服务发展迅速,对人机界面与地理信息系统服务整合具有重要的理论和现实意义。本课题在此基础上利用Androidd的短信通信机制、广播机制以及第三方地图软件提供商的API,实现并研究手机防盗在移动技术上的新应用。将手机防盗技术应用于日常生活之中,对降低手机及其资料被盗的风险和减少个人的财产损失有着重大意义和应用价值。 通过此课题,能够培养学生动手能力,增强个人思维模式,锻炼软件开发中遇到问题的调试能力,进而
13、加强专业技术。本文的主要研究工作本文主要研究的是基于Android系统短信通知机制的远程追踪控制指令,以及第三方地图API的使用,通过两者的配合和应用来巩固手机防盗的防线。Android百度地图API 手机(shu j)地图服务手机地图服务是指在手机上利用GPS或者网络实现精确定位,通过使用WAP方式或客户端方式,得到相关位置信息的业务。为用户提供了一种便捷实用的掌上地图,通过手机屏幕,用户可以查询城市信息、查找自己的位置、查找道路信息。它以矢量地图、卫星地图、混合地图3种服务模式向全球提供地图搜索和逐级缩放功能(gngnng)的地图服务,让全球用户体验到了新的地图服务模式。目前,主流的地图服
14、务在国外有Google Maps,Yahoo地图服务,Virtual Earth服务三大服务,而国内则有搜狐旗下的搜狗、百度、高德等主要的地图服务。本软件(run jin)之所以选用百度地图服务是因为其功能与国外地图相比更具本地特色,也更加实用,其位置相对与国内而言也更为精准。定位技术移动终端的定位是通过检测移动终端和基站之间传播信号的特征参数来获得其几何位置,在显示应用中,主要有三种常用的定位方式:基于GSM蜂窝基站定位把移动电话的服务区别分为一个个正六边形的子区,每个小区设一个基站。形成了形状酷似“蜂窝”的结构1,移动电话测量不同基站的下行导频信号,得到不同基站下行导频的TOA(Time
15、of Arrival,到达时刻)或TDOA(Time Difference of Arrivalm,到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,就能够计算出移动电话的位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。基于GPS卫星定位 GPS的空间部分是由24颗卫星组成(其中有21颗工作卫星,3颗备用卫星)。在空旷地带且无阻挡的前提下,GPS定位技术的定位精度可达15米左右。但是,在很多情况下,GPS接收机不能够捕获足够多的GPS卫星信号,定位精度将会大大的降
16、低,甚至不能定位(如室内)。GPS系统主要由三大部分组成:GPS卫星星座(空间部分)、地面监控系统(控制部分)和GPS信号接收机(用户部分)。GPS的定位原理就是根据高速运动的卫星瞬间位置作为已知的数据,采用空间距离后方交会的方法,确定待测点的位置2。 我们通常所说的GPS往往仅只用户设备部分,它通过接受天空不同位置的三颗以上的卫星信号,手机捕获到跟踪的卫星信号后,配合地面接收天线就可按定位解算方法进行定位计算,计算出用户所在地理位置的经纬度、高度、速度、时间等信息。简单来说是利用了数学上三条线确定一个空间点的原理。虽然(surn)GPS定位最为精准,但其缺点是耗电、定位慢并且无法室内定位。基
17、于(jy)WIFI热点(r din)定位基于WIFI热点定位的原理跟GSM基站定位的原理差不多,前提是我们必须拿到WIFI路由器的SSID和信号强度。当然,我们并不需要真正连接上指定的WIFI路由器,只需要探测到有WIFI存在即可。 定位端只要侦听一下附近都有哪些热点,检测一下每个热点的信号强弱,然后把这些信息发送给Skyhook的服务器。服务器根据这些信息,查询每个热点在数据库里记录的坐标,进行运算,就能知道客户端的具体位置了,再把坐标告诉客户端。可以想想,只要收到的AP信号越多,定位就会越准。百度地图API简介百度地图移动版API(Android)是一套基于Android 1.5及以上设备
18、的应用程序接口,通过该接口,您可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序3。百度地图移动版API不仅包含构建地图的基本接口,还提供了诸如地图定位、本地搜索、路线规划等数据服务,你可以根据自己的需要进行选择。百度地图API将复杂的底层逻辑进行封装,以一种便于开发者理解的方式提供。开发者只需要按照API文档的要求进行注册即可使用,客户端不需要安装任何软件、控件或地图,所有运算都会在百度公司的服务器中运行,由API 进行组织显示、分级缩放和漫游。使用者只需要通过其 API,利用 Android开发包就可以将百度地图服务应用到自己的软件中。其中客户端主要完成地图的加载、地图浏览和
19、查询功能,它的设计重点是地图浏览和查询界面,以及将用户(yngh)的访问和查询请求打包发送给服务器9。应用服务器方面则负责处理用户的访问和查询请求,数据服务器则用于存取各类空间数据和属性(shxng)信息,采用 SQL Server 数据库存取表格,并在接到Query查询指令后执行相应的操作9。系统(xtng)体系结构如运行如下图所示。 图2-1 地图服务原理图远程指令控制功能基本原理及设计(shj)本软件的远程指令控制(kngzh)功能本质上是使用了Android系统的短信收发和系统的广播机制再加上自编的指令编码实现对丢失手机的功能控制,我们把它定义为本软件的第二道防线。基于这道防线,我们可
20、以通过安全手机向丢失的手机进行远程控制响铃、PIN码锁屏、远程定位、获取新SIM卡号码和格式化丢失手机SD卡等功能。首先,需要为主机设置安全密码和一个安全手机号码,并对这两个数据保存到系统(xtng)的配置文件。在这里使用到的是Android数据持久化的一种做法:SharePreference:SharePreference用来存储和检索一些关键变量的内容,这些内容常驻于手机xml文件之中,它是使用键值对的方式来存取文件中的数据的4。Android提供了一个SmsManager.class让应用程序拥有完整的权限来进入SMS短信的管理,自从Android 1.5版本之后,SmsManager信
21、息管理器可以支持GSM和CDMA的移动手机通信标准。5发送一条SMS信息对Android系统来说有相当规范的步骤:(1) 在AndroidMainifest.xml文件中声明权限:(2) 使用SmsManager.getDefault()静态方法,获取SmsManger的实例:SmsManager mySms = SmsManager.getDefault();(3) 定义一个目标号码和发送文本,使用sendTextMessage()方法发送SMS信息到另一个Android设备:String destination = 123456789;String msg = Sending my fir
22、st message;mySMS.sendTextMessage(destination,null,msg,null,null); 在Android系统中有一个很重要的组件,那就是广播BroadcastReceiver,广播接收器组件用于接收和响应系统广播的消息。广播接收器也需要通过Activity与用户交互进行桥接6。 Android系统在手机收到运营商的短信后,会向手机每个应用程序发送短信广播,通知所有应用程序此时此刻系统有短信接收,只要在程序中注册短信广播接收器,我们就可以在程序中分析短信文本。实现具体的操作和功能(gngnng)实现。系统的短息广播标志为:vider.Telephony
23、.SMS_RECEIVED。本软件的远程指令控制需要(xyo)建立一套用于安全手机和被盗手机相互识别的指令集,在软件中指令集的定义如下:发送定位丢失手机指令(zhlng):(wujiandao*密码*dingwei)发送激活报警铃声指令:(wujiandao*密码*baojing)发送设定屏保密码指令:(wujiandao*密码*suoding)发送格式化请求指令:(wujiandao*密码*wipedata)发送确定格式化指令:(wujiandao*密码*geshihua)获取丢失手机坐标指令:(Location#纬度#经度*地址*)根据以上的指令集,在程序中开启一个后台服务,在服务中注册短
24、信广播接收器,这里需要把广播接收器的权限提至最高,保证一旦接收到系统的短信可以最先过滤和分析这些指令;一旦确定是以上指令集的内容,则将指令解析并销毁短信广播,保证不影响其他应用程序的正常工作。底层平台导入和开发步骤申请密钥百度地图SDK提供的服务是免费的,接口无使用次数限制。我们首先要需先申请密钥(key),才可使用该套SDK。任何非营利性程序请直接使用,商业使用必须请参考使用须知。 HYPERLINK /map/android-mobile-apply-key.htm /map/android-mobile-apply-key.htm 通过这个网站同意与百度的协议,我们就可以获得密钥。导入.
25、jar和.so文件在项目Libraries里添加baidumapapi.jar,将libBMapApiEngine_v1_3_5.so复制到工程目录下的libsarmeabi。初始化声明(shngmng)地图(dt)、定位、搜索功能都需要BMapManager来管理,BMapManager提供四个接口,init, start, stop, destroy。建议在Application里生成BMapManager对象并初始化,在程序退出时调用destory,在需要使用sdk功能的Activity的onCreate里调用start, onDestroy调用stop,或者onResume/onPau
26、se分别调用start和stop 1。模块(m kui)框架图图 3-1 远程追踪指令(zhlng)模块流程图模块详细(xingx)设计指令接收器的设计(shj)与实现指令接收器的核心类是SmsReceiver,该类是自定义的广播接收器,继承Android中的BroastReceiver,是程序远程控制指令的核心类,主要用于接收和解析收到的指令短信,对非指令短信进行过滤;此类的使用首先(shuxin)是在AndroidManifest.xml文件进行注册,这样就可以保证当Android系统接收到短息,向所有程序发出短信广播的时候,本程序能接收到短信广播和广播夹带的文本。(1) 广播注册代码:
27、其中android:priority 为广播的优先级,将此优先级别设置较高的参数,保证本程序能够拦截短信并对特定短信进行解析。功能代码:public void onReceive(Context context, Intent intent) /判断传来Intent是否为短信 if (intent.getAction().equals(SMSACTION) Bundle bundle = intent.getExtras(); /接收由Intent传来的数据 /判断Intent是有数据 if (bundle != null) /pdus为 android内置短信参数 identifier,通过
28、bundle.get()返回一包含pdus的对象 Object smsObject = (Object) bundle.get(pdus); /构造短信对象 SmsMessage messages = new SmsMessagesmsObject.length; for (int i = 0; i10) String substr = currentMessage.getDisplayMessageBody().substring(0,10); if(substr.equals(wujiandao*) /屏蔽指令短信,以防干扰(gnro)其他应用程序 abortBroadcast(); In
29、tent myIntent = new Intent(context,DoAfterReceiveMessage.class); context.startActivity(myIntent); if(currentMessage.getDisplayMessageBody().substring(0,9).equals(Location#)/ abortBroadcast(); /屏蔽(pngb)短信 Log.d(Sys,SMS:Location#); Intent i = new Intent(context,LocationMapActivity.class); context.star
30、tActivity(i); 指令业务分发(fnf)器的设计与实现指令业务分发器的核心类是DoAfterReceiveMessage,主要是用于处理由SmsReceiver传送过来的远程指令功能业务;本质上它是一个业务逻辑分发器,根据不同的指令,启动不同的业务功能;与此同时,它还肩负一个向安全手机反馈的功能。(1) 获取(huq)从SmsReceiver传过来的短息:/* 接收(jishu)传递来的信息 */private void receiveMessage() Intent startingIntent = getIntent();if (startingIntent != null) B
31、undle infod = startingIntent.getExtras();if(infod!=null) number = infod.getString(sms_Address); messageText = infod.getString(sms_Text);(2) 分发处理(chl)从SmsReceiver传过来的业务请求,启动不同的业务功能: protected void onResume() super.onResume();if(secret_number_acquire()= null)sendMessage(您手机未设定密码,不能进行远程操作。,number);DoAf
32、terReceiveMessage.this.finish();else if(messageText.equals(wujiandao*+secret_number_acquire()+*dingwei) (启动百度地图定位功能) DoAfterReceiveMessage.this.finish(); else if(messageText.equals(wujiandao*+secret_number_acquire()+*baojing) (启动响铃功能) else if(messageText.equals(wujiandao*+secret_number_acquire()+*su
33、oding) (启动锁屏功能) else if(messageText.equals(wujiandao*+secret_number_acquire()+*wipedata) (询问安全手机(shu j)是否进行格式化)else if(messageText.equals(wujiandao*+secret_number_acquire()+*geshihua)(启动(qdng)手机格式化)else (用户(yngh)输入的密码出错)定位器的设计与实现定位器的主类是MyLocation类,主要实现的是利用百度地图API实现手机自我定位的一个功能,并最终获取了手机所在地的经纬度值,因为本软件使
34、用了百度地图SDK,所以定位的功能实现也必须使用百度地图SDK,这样定位起来的坐标点才能与百度地图图层的地点相吻合。图 3-2 定位器发送指令界面(1) 地图管理器、定位器、搜索器的初始化: BMapManager mapManager = new BMapManager(getApplication(); mapManager.init(285B415EBAB2A92293E85502150ADA7F03C777C4,new MyGeneralListener(); mLocationManager = mapManager.getLocationManager(); mLocationMa
35、nager.enableProvider(int) MKLocationManager.MK_GPS_PROVIDER); / 初始化MKSearch mMKSearch = new MKSearch(); mMKSearch.init(mapManager, new MySearchListener(); (2) 位置监听器的实现(shxin),获取经纬度: mLocationListener = new LocationListener() public void onLocationChanged(Location location) Log.d(Sys, MyLocation is l
36、istening);if(location!=null)x=location.getLatitude();y=location.getLongitude();Log.d(Sys, 纬度(wid)x=+x);Log.d(Sys, 经度(jngd)y=+y);Intent i2 = new Intent();i2.setClass(MyLocation.this, Null.class);startActivity(i2);报警响铃器的设计与实现响铃的播放使用到的是Android音频管理器AudioManager和媒体播放类MediaPlayer,AudioManager用于管理系统音量,或者直接
37、可以控制系统静音7。报警响铃器主类为RingService,它继承于Service,是驻后台的一个服务,实现的主要功能就是以手机的最大音量播放报警铃声,同时开启手机震动,直到设置的时间结束为止,或者使用安全手机发送close英语单词实现关闭手机响铃。这个功能主要是想通过控制手机发出声响,让用户根据声源找到手机的藏身之处。当然,即使手机在静音状态下,我们也是可以以最大音量实现发出警报。报警响铃器主要在程序启动(qdng)的时候就开始监听传感器的状态,它主要依靠于Service在后台运行。Service为服务类,是一个在背景运行的程序,不提供显示窗体作为和用户之间的接口,它运行于应用程序的主线程上
38、,不会影响到其他活动程序Activity和用户接口操作,通常Service会用来处理比较耗时的功能程序8。(1) 将手机(shu j)音量调至最大值: public void onStart(Intent intent, int startId) mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_MUSIC ); new Thread()Overridepublic void run
39、()tryfor(int i=1;i5;i+)mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, max, 0) ;sleep(1000*5) ;catch(Exception e)e.printStackTrace();finallystopSelf();.start(); (2) 启动报警(bo jng)功能:public void PlayMusic() mp = MediaPlayer.create(this,R.raw.test); mp.setLooping(true); mp.start(); vv2 = (Vibra
40、tor) getSystemService(VIBRATOR_SERVICE); vv2.vibrate(new long5000,5000,0); 手持设备权限(qunxin)管理器的设计与实现手持设备(shbi)权限管理器主类为DeviceActivity,该类定义了设备管理权限(恢复出厂设置、锁定屏幕、重置密码、限制密码选择、监控登录尝试),并向用户征得获得使用权限的权利,只有用户同意激活手机设备的锁屏和清除数据权限,本程序(chngx)才能使用远程锁屏功能和远程格式化手机。(1) 类中主要用到了Android系统设备管理器:/* 锁屏API */public void LockScre
41、enNow() boolean active = mDPM.isAdminActive(mDeviceComponentName);if (active) if (secret_number != null) / 设置的PIN密码if (secret_number.equals(geshihua) / 会是手机恢复出厂设置,但SD卡不受影响mDPM.wipeData(0);DeviceActivity.this.finish(); else mDPM.resetPassword(secret_number,DevicePolicyManager.RESET_PASSWORD_REQUIRE_E
42、NTRY);mDPM.lockNow();DeviceActivity.this.finish();/* 格式化手机(shu j) */public void wipeMobileData() boolean active = mDPM.isAdminActive(mDeviceComponentName);if (active) mDPM.wipeData(0);DeviceActivity.this.finish(); 图3-3 锁屏器发送指令(zhlng)界面 图3-4 主机锁屏界面SIM卡更换(gnhun)通知功能的设计与实现 远程追踪的最后一个功能便是,SIM卡的更换通知,用户事先通
43、过保存本机的SIM卡信息,当手机被盗走,并被人更换SIM卡的时候,本程序通过接收Android系统启动完毕发出的广播后,开启一个SIMService后台服务,对当前手机的SIM卡进行识别和对比,如果发现SIM卡与之前保存的信息不对称则会将新的SIM卡号码通过短信的方式发送到安全手机,这样我们便可以获取嫌疑人的联系方式。 图3-5 更换(gnhun)SIM卡通知控制界面地图追踪(zhuzng)功能功能(gngnng)简介本软件的地图追踪功能主要是建立在远程控制指令的基础之上,地图追踪功能必须是安全手机和本机的配合。根据前面章节的介绍,我们可以通过安全手机发送远程定位指令,使得丢失手机开启MyLo
44、cation类进行定位获取位置经纬度,获取后将经纬度和地址信息发送到安全手机上,此时如果安全手机装有本程序,则可以从短信中获取经纬度的数字数据,并调用百度地图SDK在地图上标注获取到的坐标,这样我们就有个直观的位置感观。 图 4-1 获取定位坐标后安全手机显示的地图界面功能详细(xingx)设计前面3.5.3小结主要提及到的是丢失手机在地图追踪这个功能(gngnng)的一个业务逻辑,而安全手机这边的业务逻辑也比较简单,主要功能集中在LocationMapActivity类,下面就介绍下LocationMapActivity的主要逻辑。(1) 注册地图管理者、定位器,并对地图控件进行(jnxng
45、)参数设定: mapManager = new BMapManager(getApplication(); mapManager.init(key, null); super.initMapActivity(mapManager); / 获取地图控件 mapView = (MapView) findViewById(R.id.mapsView); / 获取定位管理者 mLocationManager = mapManager.getLocationManager(); / 使用GPS定位 mLocationManager.enableProvider(int) MKLocationManage
46、r.MK_GPS_PROVIDER); / 设置启用内置的缩放控件 mapView.setBuiltInZoomControls(true); / 设置在缩放动画过程中也显示overlay,默认为不绘制 mapView.setDrawOverlayWhenZooming(true); / 得到mMapView的控制权,可以用它控制和驱动平移和缩放 mapController = mapView.getController(); / 设置地图zoom级别 mapController.setZoom(12); (2) 获取丢失手机传过来的坐标,加以解析并在地图上标注起来:public void t
47、heifLocation() /*获取(huq)小偷位置*/ Intent intent=this.getIntent(); Bundle bundle = intent.getExtras(); int flag = bundle.getInt(flag);/得到需要(xyo)标在地图上的资源Drawable marker = getResources().getDrawable(R.drawable.iconmarka); / 为maker定义位置(wi zhi)和边界marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.get
48、IntrinsicHeight(); /接收到定位短信跳转到地图 if(intent!=null&flag=1) Log.d(Sys,intent isnt NULL); String content=bundle.getString(content); String substr1 = content.substring(start1+1,end1); String substr2 = content.substring(end1+1,start2); thiefstr = content.substring(start2,content.length(); a = (int) (Doubl
49、e.parseDouble(substr1)*1000000); b = (int) (Double.parseDouble(substr2)*1000000); /用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6) GeoPoint thief = new GeoPoint(a,b); /设置地图中心点 mapController.setCenter(thief); mapView.getController().animateTo(thief);/ 添加ItemizedOverlay实例到mMapView mapView.getOverlays().add(new Ov
50、erItemT(marker,thief,this); / 创建点击mark时的弹出泡泡 mPopView=super.getLayoutInflater().inflate(R.layout.popview,null); mapView.addView(mPopView, new MapView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, null, MapView.LayoutParams.TOP_LEFT); mPopView.setVisibility(View.GONE); 帮助与升级(shng
51、 j)功能功能(gngnng)简介此功能分为两个模块,一个是帮助功能,主要使用到的是自定义的View类,使用滑动的视图图片和图片指示器将本程序的主要操作和注意事项告知用户,增强软件的用户体验;此外,考虑到以后(yhu)软件的升级和版本的控制,所以借助友盟平台实现升级和版本控制,当我们发布新版本的时候,用户可以接收到升级信息。帮助(bngzh)功能模块第一次打开软件,会弹出一个帮助的图形界面,帮助界面如下: 图 5-1 图 5-2 图 5-3 图 5-4 图 5-5版本升级功能当打开软件,如有新版本推送,则自动弹出升级对话框,每隔一天检查是否有新版本需要升级。升级代码如下:MobclickAge
52、nt.setUpdateOnlyWifi(false);MobclickAgent.update(this, 1000*60*60*24); 软件测试与使用功能(gngnng)操作1.在首次(shu c)进入“追踪(zhuzng)手机”模块的时候,程序会检测用户是否设置了安全密码,如果已经设置,则弹出密码输入界面如图6-1,如果用户尚未设置密码,则会弹出一个设置手机安全密码的界面供用户设置密码,如图6-2。 图6-1 图6-22.设置完密码后,就可以进入了远程追踪手机的界面,如图6-3,用户必须先设置本机的安全手机号码,此安全手机号码是相对可靠和安全的,同时为了操作的简便最好是装上了本软件。如
53、图 图6-3 图6-43.设置完安全手机(shu j)号码之后,用户可用安全手机,向本机发送远程控制指令。根据操作需求选择对应的功能选项,比如使用“远程激活(j hu)报警铃声指令”如图6-4,用户需输入丢失的手机号码,以及丢失手机在本程序设置的密码;单击发送则可将指令发出(fch),本程序将会在丢失手机上监听安全手机发来的指令,当丢失手机接收到指令,并开始调用功能模块后,会发送短信回馈给安全手机,告知用户手机当前的状态。测试用例测试模块输入数据预期输出结果设置安全手存于本地系统配置文件设置安全密码123保存于本地系统配置文件设置SIM卡自启动检测开启功能本地系统配置
54、文件保存启动状态远程报警响铃模块使用安全手机发送:wujiandao*123*baojing主机发出警报远程PIN锁屏模块使用安全手机发送:wujiandao*123*suoding主机出现PIN锁屏界面远程定位模块使用安全手机发送:wujiandao*123*dingwei主机进行自我定位并将定位的坐标和文本信息发送至安全手机远程删除数据模块使用安全手机发送:wujiandao*123*wipedata接收到主机回复是否确定格式化手机的提示远程格式化手机模块使用安全手机发送:wujiandao*123*geshihua主机格式化本机短信、通讯录、SDcard等数据 表6-1 软件测试用例表测试结果与发现设置安全手机、密码、SIM卡自启动检测功能测试: 图 6-5 设置安全(nqun)手机号码 图 6-6 设置安全密码本地(bnd)配置文件保存内容: 图 6-7 软件系统配置文件保存(bocn)的SIM卡序列号为:89860008191009842897保存的安全手机号码存的SIM卡自动检测功能:”isOpen ” “ false”保存的安全密码:123远程(yunchng)报警响铃模块测试:通过安全(nqun)手机输入wujiandao*123*baojing发送(f sn)短信指令到主机,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度网络安全实习生实习协议范本
- 2025版绿色家居装修设计施工合同范本
- 2025版危险化学品仓储安全管理合同范本
- 二零二五年校园安全守护服务合同终止声明
- 2025版A包海南农产品品牌国际化推广合同
- 二零二五年度茶园承包与茶叶加工生产合同
- 2025年度高端家具搬运服务合同范本
- 二零二五版城市综合体安防系统整体解决方案合同
- 二零二五年度光伏发电安装工程一切险合同范本
- 二零二五年政府机关办公设备采购合作协议
- 中国睡眠报告2023
- 升压站土建施工组织设计
- 英语默写版-高考英语词汇3500词
- 哈尔滨市普通住宅小区物业服务等级指导标准
- 汉语文化传播研究:以中国语言文化为视角
- 医疗机构消防安全管理
- 退出中华人民共和国国籍申请表
- 西方经济学(第二版)完整整套课件(马工程)
- 检验科安全管理制度汇总
- 英语音标拼读方法讲解
- MT 113-1995煤矿井下用聚合物制品阻燃抗静电性通用试验方法和判定规则
评论
0/150
提交评论