基于安卓系统的手机防盗设计与实现

2014-07-24 17:54浩明
现代电子技术 2014年14期
关键词:GPS定位

浩明

摘 要: 为了实现基于安卓系统的智能手机的防盗追踪功能,设计实现了基于Android广播机制和后台监听机制的智能手机短信远程控制功能。不仅能够实现对手机联系人信息和内存卡信息的远程删除,而且能够对远程手机进行静音监听、获取最新通话记录和GPS定位。理论分析和实验测试结果表明,设计的系统功能具有良好的实用性。

关键词: Android; 防盗追踪; 广播机制; GPS定位

中图分类号: TN926?34; TP311 文献标识码: A 文章编号: 1004?373X(2014)14?0036?04

Design and realization of mobile phone anti?theft system based on Android

HAO Ming

(Xian University of Posts and Telecommunications, Xian 710121, China)

Abstract: In order to achieve the Android?based anti?theft tracking function of smart phones, a function of smart phone SMS remote control based on Android broadcast mechanism and backstage monitoring mechanism was achieved. The system can remotely delete the contacts and information in memory card, execute the mute monitoring for the stolen mobile phone, and acquire the latest call record and GPS position. Theoretical analysis and experimental results show that the system has better practicality.

Keywords: Android; anti?theft tracking; android radio mechanism; GPS positioning

随着智能手机的日益普及,基于智能手机的应用也日益增加,智能手机正在深刻改变着人们的工作和生活方式。由于智能手机厂商众多,应用的操作系统也不有很大差异。目前主流的操作系统包括:iOS,Windows Phone、Android等,其中以Android系统的市场占有率最高。Android是Google公司开发的基于Linux内核的开源手机操作系统[1], Android系统的开源性使其广泛应用于智能手机上,这也使得智能手机得到了迅速普及。

Android系统平台包含有基于Linux内核的操作系统,虚拟机,中间件,一些API接口以及一些必要的应用功能[2?5]。Android整体上可以看作是由Linux,C/C++和Java所构成的开源软件系统。随着现在智能手机的普及, 其功能及存储容量的增加, 一方面方便了用户把更多信息放入手机中,进行管理, 另一方面也增加了手机泄密、手机隐私被窃、手机丢失后的信息欺诈的危害程度[6],手机一旦丢失将给个人隐私带来极坏的后果,威胁个人隐私安全。为了有效解决此问题,本文将采用后台接收系统广播,实现对手机联系人信息和内存卡信息的远程删除、静音监听、获取最新通话记录和GPS定位,从而实现对用户个人隐私安全的有效保护。

1 智能手机操作系统

智能手机操作系统是一种运算能力及功能比传统功能手机系统更强的手机系统。使用最多的操作系统有:iOS,Windows Phone,Android。

iOS是苹果公司开发的智能手机操作系统,iOS 具有简单易用的界面、令人惊叹的功能和超强的稳定性,成为智能手机广大用户的选择之一。

Windows Phone(简称:WP)是微软发布的一款手机操作系统, WP有增强的Windows Live体验、更好的电子邮件体验、Office Mobile办公套装, 为客户提供了详细周到的体验。

Android是一种基于Linux的自由及开放源代码的操作系统,目前主要用于移动设备,如智能手机和平板电脑。

据国外IDC统计数据显示2013年的第4季度,Android平台手机的全球市场份额已经达到78.1%,完全超过了以ios,WP的份额,Android平台成为了名副其实的大众化智能手机平台。

2 手机防盗追踪机制

基于Android系统的智能手机拥有等众多功能,为用户提供丰富的体验,同时手机丢失后也可以为机主提供一定的信息。在Android手机开发中对于通信录、通话记录、SD信息存储、GPS定位这些信息都可以通过调用相关函数进行远程操作或获取,这就为实现手机防盗提供了基础。对于手机中联系人信息和内存卡信息等隐私资料可以通过对相应手机指令完成删除工作,保护机主的个人隐私;同时可以通过指令获取手机当前最新通话记录和GPS定位信息为找回手机提供一定线索。

根据系统功能要求和Android 系统的特性,首先,当手机用户在第一次运行本程序时,首先需注册信息,包括用户名和用户密码,在手机用户首次开启防盗功能,并设置一个安全手机号码后,本程序将保存当前用户SIM 卡号和设置的安全手机号码。之后,本程序会监听手机开机启动,在每次手机开机后通过读取当前手机用户SIM 卡号,并提取保存在数据库中SIM 卡号,比较两者是否相同来判断是否为手机合法用户。SIM卡号相同,本程序开启后台监听服务,不做任何动作。否则,程序将以短信形式发送报警短信到绑定的安全手机号码上。当程序监听检测到合法用户通过安全手机号码回复的短信内容时,这里我们以短信内容来执行相应功能,本系统收到短信后通过分析得出相应指令,分别执行删除被控手机上的联系人信息、内存卡信息、静音监听、获取最新通话记录和GPS定位功能。防盗功能流程如图1所示。

受控手机开机后,本系统监听到Android系统发出的启动广播时,系统启动开机SIM卡更换判断,首先判断SharedPreferences中是否存储了SIM卡号,如果为空,则将其保存;非空,用当前的SIM卡号与SharedPreferences中存储的SIM卡号比较,若不相等,则向绑定的手机发送一条提示信息,通知手机已更换SIM卡,被通知的手机就可以得到换卡后的手机号码。

开机SIM卡验证流程如图2所示。通过继承Service类(Android系统应用程序组件,与Activity不同的是没有图形化界面,用于处理耗时较长的操作)进行后台监听,通过内部类继承BroadcastReceiver接收系统的短信广播。Android操作系统在收到短信时系统会发送广播,此时所有已注册的BroadcastReceiver检查注册时的IntentFilter(过滤器),是否与发送的Intent相匹配,匹配则调用BroadcastReceiver的onReceiver( )方法进行处理。在捕获系统的短信广播之后,对短信内容进行提取,并判断是否为已设置的安全密码,如果匹配成功,将唤醒名为MENU的Activity类来自动回复功能菜单,用户可以通过任何可以收发短信的手机接收系统发出的短信菜单,并且对菜单进行相应功能的回复操作,同时通过对标志位的更改达到调用针对功能菜单序号监听服务的目的。后台监听的基本流程如图3所示。

图1 防盗功能流程

图2 开机SIM卡验证流程

3 方案实现

3.1 数据存储

Android 提供了5 种方式存储数据,分别Shar?edPreferences 类存储、文件存储、SQLite 数据库存储、ContentProvider 存储、网络存储[7]。由于SharedPreferences 方式适合存储数据量不大的信息。因此本程序采用SharedPrefere?nce来进行数据的存储的,自己重新更换的账号与密码是存储在SharedPreference中的。

图3 后台监听流程

核心代码如下:

SharedPreferencessp=getSharedPreferences(SETTING_Infos,0);

sp.edit().putString(PASSWORD,md5.Md5(pwd2)).commit();

3.2 获取最新通话记录

Android平台上的手机通话记录形式是Content Provider,使用ContentResolver来查询通话记录,然后返回Cursor对象。核心代码如下:

Final Cursor cursor = cr.query(CallLog.Calls.CONTENT_URI,new String[]

{

CallLog.Calls.NUMBER,

CallLog.Calls.CACHED_NAME,

CallLog.Calls.TYPE,

CallLog.Calls.DATE

},null,null,

CallLog.Calls.DEFAULT_SORT_ORDER);

cursor.getCount();

3.3 联系人信息删除

删除通讯录里的联系人信息,使用ContentResolver对象(content),调用content.delete()方法,通过设置delete方法的参数,将所有联系人删除。核心代码如下:

getContentResolver().delete(Uri.parse(ContactsContract.RawContacts.CONTENT_URI.toString()+"?"+ContactsContract.CALLER_IS_SYNCADAPTER+"=true"), ContactsContract.Contacts._ID + ">0", null);

3.4 内存卡信息删除

通过指定文件目录,然后对文件内的内容进行遍历,对每个文件执行delete()操作,即可将其删除。在进行删除操作时,首先需要加入权限,加入的权限为:

核心代码如下:

//在这里设置目录

File f=new File("/sdcard/");

File[] files=f.listFiles();

for(int i = 0; i

{

files[i].delete();

}

3.5 静音监听

静音监听的实现是基于每个手机必备的基本功能即拨打电话,因为拨打电话属于手机底层的服务,与用户隐私及通话费用等问题息息相关,所以要加权限:

。通过Intent对象,带入“ACTION_CALL”这个动作,通过Uri.parse()的方法将本系统得到的电话号码发送给系统的拨打电话功能,最后以startActivity()方法启动系统自带的拨号功能,完成通过程序拨打电话进行直接监听。核心代码如下:

Intent intentDial=new Intent(Intent.ACTION_CALL,

Uri.parse("tel:" + Number));

startActivity(intentDial);

3.6 GPS定位

GPS( Global Positioning System) 即全球定位系统[8]。在 Android平台中提供了位置服务的API,主要有Location Manager和Location Providers两个对象。通过调用系统的LocationManager 来获取地理位置等相关信息。调用GPS需要添加权限为

核心代码如下:

LocationManager locationManager = (LocationManager)Function05GPSLocation.this.getSystemService(Context.LOCATION_SERVICE);

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,new TestLocationListe?ner());

4 功能测试

为了进一步对本系统的相关功能进行验证和测试,我们以Android 2.2版本模拟器为测试平台,演示真机采用三星i9000智能手机,测试手机的系统版本为Android 2.2定制版本。以下是对本文设计的功能进行测试和分析的结果。

4.1 内存卡信息删除功能

监控手机发送短信至受控手机,受控手机内目录为/sdcard/下的所有文件将被清空。SD内存卡清空测试结果见图4。其中监控端返回信息中“Your Phone SD Card Delete Succeed”表明受控端SD卡内存卡已清空。

图4 内存卡信息删除功能测试(监控端?受控端)

4.2 静音监听功能

发送短信至受控手机,可以进行监听功能的测试。受控手机会自动给监控手机回拨电话,需要监控手机点击绿色接听电话按钮即可进行正常监听,当需要结束监听时,点击红色挂电话按钮结束通话。监听功能测试结果见图5。其中从左到右依次为电话呼入、通话中、通话结束三个过程,通过以上三个过程完成一次静音监听。

图5 静音监听功能测试

4.3 获取最新通话记录功能

发送短信至受控手机,可以获取由受控手机回复的最新通话记录信息。获取通话记录的测试结果如图6所示。其中左边为监控端,右边为受控端,受控端的通信记录中显示最新的通话记录是11 min前的15555215556,同时监控端获取到的最新通话记录也是15555215556,测试结果表明,此功能可以获取受控端的最新通话记录。

图6 获取最新通话记录功能测试(监控端?受控端)

4.4 GPS定位功能

发送短信至受控手机,可以进行GPS位置查询的测试,收到由受控手机回复的当前GPS经度纬度数据。获取GPS信息测试结果见图7。其中Longitude为经度信息,Latitude为维度信息,据此经纬度信息便可知道手机目前所处的具体位置,为找回手机提供确切的位置信息。

图7 GPS定位功能测试图(监控端?受控端)

5 结 论

本文基于Android系统平台中的广播机制、SIM卡验证机制以及后台监听等机制设计实现了Android 手机防盗追踪功能,不仅能够实现对手机联系人信息和内存卡信息的远程删除,且能够对远程手机进行静音监听、获取最新通话记录和GPS定位,本系统为丢失手机用户找回手机提供了重要线索,实现了智能手机防盗追踪功能。

参考文献

[1] BURNETTE E D. Android基础教程[M].田俊静,张波,黄湘情,等译.3版.北京:人民邮电出版社,2010.

[2] 靳岩,姚尚朗.Google Android开发入门与实践[M].北京:人民邮电出版社,2009.

[3] 佘志龙,陈昱勋,郑名杰,等.Google Android SDK开发范例大全[M].2版.北京:人民邮电出版社,2010.

[4] RETO Meier. Android 2高级编程[M].王超,译.2版.北京:清华大学出版社,2010.

[5] 韩超.Android核心原理与系统级应用高效开发[M].北京:电子工业出版社,2012.

[6] 杜林锋.手机信息安全不可忽视[J].内蒙古科技与经济,2007(7):78?80.

[7] 张富,江冰,黄佳,等.基于Android 的个人云安全存储系统[J].科学技术与工程,2012,12(27):7100?7108.

[8] 刘胜前,陈立定,任志刚.基于Android移动平台和GPS应用服务研究[J].信息技术,2012(1):82?85.

[9] 李铮.基于Android的个人云安全存储系统[J].承德石油高等专科学校学报,2013,15(5):33?36.

[10] 肖飞,乔荣爱.基于Android的校园报警平台的设计与实现[J].计算机与现代化,2013(8):222?224.

Intent intentDial=new Intent(Intent.ACTION_CALL,

Uri.parse("tel:" + Number));

startActivity(intentDial);

3.6 GPS定位

GPS( Global Positioning System) 即全球定位系统[8]。在 Android平台中提供了位置服务的API,主要有Location Manager和Location Providers两个对象。通过调用系统的LocationManager 来获取地理位置等相关信息。调用GPS需要添加权限为

核心代码如下:

LocationManager locationManager = (LocationManager)Function05GPSLocation.this.getSystemService(Context.LOCATION_SERVICE);

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,new TestLocationListe?ner());

4 功能测试

为了进一步对本系统的相关功能进行验证和测试,我们以Android 2.2版本模拟器为测试平台,演示真机采用三星i9000智能手机,测试手机的系统版本为Android 2.2定制版本。以下是对本文设计的功能进行测试和分析的结果。

4.1 内存卡信息删除功能

监控手机发送短信至受控手机,受控手机内目录为/sdcard/下的所有文件将被清空。SD内存卡清空测试结果见图4。其中监控端返回信息中“Your Phone SD Card Delete Succeed”表明受控端SD卡内存卡已清空。

图4 内存卡信息删除功能测试(监控端?受控端)

4.2 静音监听功能

发送短信至受控手机,可以进行监听功能的测试。受控手机会自动给监控手机回拨电话,需要监控手机点击绿色接听电话按钮即可进行正常监听,当需要结束监听时,点击红色挂电话按钮结束通话。监听功能测试结果见图5。其中从左到右依次为电话呼入、通话中、通话结束三个过程,通过以上三个过程完成一次静音监听。

图5 静音监听功能测试

4.3 获取最新通话记录功能

发送短信至受控手机,可以获取由受控手机回复的最新通话记录信息。获取通话记录的测试结果如图6所示。其中左边为监控端,右边为受控端,受控端的通信记录中显示最新的通话记录是11 min前的15555215556,同时监控端获取到的最新通话记录也是15555215556,测试结果表明,此功能可以获取受控端的最新通话记录。

图6 获取最新通话记录功能测试(监控端?受控端)

4.4 GPS定位功能

发送短信至受控手机,可以进行GPS位置查询的测试,收到由受控手机回复的当前GPS经度纬度数据。获取GPS信息测试结果见图7。其中Longitude为经度信息,Latitude为维度信息,据此经纬度信息便可知道手机目前所处的具体位置,为找回手机提供确切的位置信息。

图7 GPS定位功能测试图(监控端?受控端)

5 结 论

本文基于Android系统平台中的广播机制、SIM卡验证机制以及后台监听等机制设计实现了Android 手机防盗追踪功能,不仅能够实现对手机联系人信息和内存卡信息的远程删除,且能够对远程手机进行静音监听、获取最新通话记录和GPS定位,本系统为丢失手机用户找回手机提供了重要线索,实现了智能手机防盗追踪功能。

参考文献

[1] BURNETTE E D. Android基础教程[M].田俊静,张波,黄湘情,等译.3版.北京:人民邮电出版社,2010.

[2] 靳岩,姚尚朗.Google Android开发入门与实践[M].北京:人民邮电出版社,2009.

[3] 佘志龙,陈昱勋,郑名杰,等.Google Android SDK开发范例大全[M].2版.北京:人民邮电出版社,2010.

[4] RETO Meier. Android 2高级编程[M].王超,译.2版.北京:清华大学出版社,2010.

[5] 韩超.Android核心原理与系统级应用高效开发[M].北京:电子工业出版社,2012.

[6] 杜林锋.手机信息安全不可忽视[J].内蒙古科技与经济,2007(7):78?80.

[7] 张富,江冰,黄佳,等.基于Android 的个人云安全存储系统[J].科学技术与工程,2012,12(27):7100?7108.

[8] 刘胜前,陈立定,任志刚.基于Android移动平台和GPS应用服务研究[J].信息技术,2012(1):82?85.

[9] 李铮.基于Android的个人云安全存储系统[J].承德石油高等专科学校学报,2013,15(5):33?36.

[10] 肖飞,乔荣爱.基于Android的校园报警平台的设计与实现[J].计算机与现代化,2013(8):222?224.

Intent intentDial=new Intent(Intent.ACTION_CALL,

Uri.parse("tel:" + Number));

startActivity(intentDial);

3.6 GPS定位

GPS( Global Positioning System) 即全球定位系统[8]。在 Android平台中提供了位置服务的API,主要有Location Manager和Location Providers两个对象。通过调用系统的LocationManager 来获取地理位置等相关信息。调用GPS需要添加权限为

核心代码如下:

LocationManager locationManager = (LocationManager)Function05GPSLocation.this.getSystemService(Context.LOCATION_SERVICE);

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,new TestLocationListe?ner());

4 功能测试

为了进一步对本系统的相关功能进行验证和测试,我们以Android 2.2版本模拟器为测试平台,演示真机采用三星i9000智能手机,测试手机的系统版本为Android 2.2定制版本。以下是对本文设计的功能进行测试和分析的结果。

4.1 内存卡信息删除功能

监控手机发送短信至受控手机,受控手机内目录为/sdcard/下的所有文件将被清空。SD内存卡清空测试结果见图4。其中监控端返回信息中“Your Phone SD Card Delete Succeed”表明受控端SD卡内存卡已清空。

图4 内存卡信息删除功能测试(监控端?受控端)

4.2 静音监听功能

发送短信至受控手机,可以进行监听功能的测试。受控手机会自动给监控手机回拨电话,需要监控手机点击绿色接听电话按钮即可进行正常监听,当需要结束监听时,点击红色挂电话按钮结束通话。监听功能测试结果见图5。其中从左到右依次为电话呼入、通话中、通话结束三个过程,通过以上三个过程完成一次静音监听。

图5 静音监听功能测试

4.3 获取最新通话记录功能

发送短信至受控手机,可以获取由受控手机回复的最新通话记录信息。获取通话记录的测试结果如图6所示。其中左边为监控端,右边为受控端,受控端的通信记录中显示最新的通话记录是11 min前的15555215556,同时监控端获取到的最新通话记录也是15555215556,测试结果表明,此功能可以获取受控端的最新通话记录。

图6 获取最新通话记录功能测试(监控端?受控端)

4.4 GPS定位功能

发送短信至受控手机,可以进行GPS位置查询的测试,收到由受控手机回复的当前GPS经度纬度数据。获取GPS信息测试结果见图7。其中Longitude为经度信息,Latitude为维度信息,据此经纬度信息便可知道手机目前所处的具体位置,为找回手机提供确切的位置信息。

图7 GPS定位功能测试图(监控端?受控端)

5 结 论

本文基于Android系统平台中的广播机制、SIM卡验证机制以及后台监听等机制设计实现了Android 手机防盗追踪功能,不仅能够实现对手机联系人信息和内存卡信息的远程删除,且能够对远程手机进行静音监听、获取最新通话记录和GPS定位,本系统为丢失手机用户找回手机提供了重要线索,实现了智能手机防盗追踪功能。

参考文献

[1] BURNETTE E D. Android基础教程[M].田俊静,张波,黄湘情,等译.3版.北京:人民邮电出版社,2010.

[2] 靳岩,姚尚朗.Google Android开发入门与实践[M].北京:人民邮电出版社,2009.

[3] 佘志龙,陈昱勋,郑名杰,等.Google Android SDK开发范例大全[M].2版.北京:人民邮电出版社,2010.

[4] RETO Meier. Android 2高级编程[M].王超,译.2版.北京:清华大学出版社,2010.

[5] 韩超.Android核心原理与系统级应用高效开发[M].北京:电子工业出版社,2012.

[6] 杜林锋.手机信息安全不可忽视[J].内蒙古科技与经济,2007(7):78?80.

[7] 张富,江冰,黄佳,等.基于Android 的个人云安全存储系统[J].科学技术与工程,2012,12(27):7100?7108.

[8] 刘胜前,陈立定,任志刚.基于Android移动平台和GPS应用服务研究[J].信息技术,2012(1):82?85.

[9] 李铮.基于Android的个人云安全存储系统[J].承德石油高等专科学校学报,2013,15(5):33?36.

[10] 肖飞,乔荣爱.基于Android的校园报警平台的设计与实现[J].计算机与现代化,2013(8):222?224.

猜你喜欢
GPS定位
基于微信平台的并行签到考勤管理系统
基于Android的多维级联定位技术的研究与实现
基于手机的分布式空气粉尘检测系统