基于A(yíng)ndroid平臺的手機防盜與隱私保護系統設計
假如手機被人盜竊后,用戶(hù)可以遠程開(kāi)啟托管模式,實(shí)時(shí)獲取盜竊人的個(gè)人信息,包括后臺拍照、短信轉發(fā)、通話(huà)記錄轉發(fā)等,從而達到“以盜治盜”的效果。同時(shí),利用手機的移動(dòng)性靈活性作為一個(gè)移動(dòng)的監控臺,配上制作的硬件報警系統和外部攝像頭,即可實(shí)現對遠方某一區域的實(shí)時(shí)安全監控。本作品在安卓原生系統的手機上進(jìn)行了以上功能的真機測試,試驗結果基本達到預期功能指標。
本文引用地址:http://dyxdggzs.com/article/247848.htm0 引言
近幾年,Android系統的普及十分迅速。2013年第一季度Android操作系統在全球智能手機市場(chǎng)中的占有率已經(jīng)超過(guò)65%,比2012年同期增加了30.3%,然而手機的普及卻帶來(lái)了新的問(wèn)題。據統計,在中國每天都有1千部手機被丟失,而手機丟失后,用戶(hù)隱私極易被侵犯。手機的安全問(wèn)題主要包括2類(lèi),即手機防盜與隱私保護的問(wèn)題。本文提出了一套新型防盜技術(shù)的解決方案, 該方案有效解決了這兩個(gè)問(wèn)題。
另一方面,隨著(zhù)智能手機的迅猛發(fā)展與物聯(lián)網(wǎng)的興起,智能手機作為物聯(lián)網(wǎng)的移動(dòng)終端前景大好。智能手機可以用來(lái)保護家居安全,比如通過(guò)手機遠程視頻查看來(lái)實(shí)現火警安防。這類(lèi)用手機作為物聯(lián)網(wǎng)的移動(dòng)終端在市面上尚未有成熟完整的解決方案,主要問(wèn)題是涉及軟硬件結合,實(shí)現難度較大。本文也設計了一套小型物聯(lián)網(wǎng),將手機作為移動(dòng)終端來(lái)實(shí)時(shí)監控家居安全。
1.Android系統概述
Android應用主要包括activities、services、content providers和broadcastreceivers四種組件,考慮到本文核心內容,著(zhù)重介紹一下activity和broadcastreceivers這兩大組件。
1.1 Activity概述
應用程序中,一個(gè)Activity通常就是一個(gè)單獨的屏幕,它上面可以顯示一些控件也可以監聽(tīng)并處理用戶(hù)的事件做出響應。Activity之間通過(guò)Intent進(jìn)行通信。在Intent的描述結構中,有兩個(gè)最重要的部分:動(dòng)作和動(dòng)作對應的數據。典型的動(dòng)作類(lèi)型有:MAIN(activity的門(mén)戶(hù))、VIEW、PICK、EDIT等。而動(dòng)作對應的數據則以URI的形式進(jìn)行表示。例如:要查看一個(gè)人的聯(lián)系方式,需要創(chuàng )建一個(gè)動(dòng)作類(lèi)型為VIEW的intent,以及一個(gè)表示這個(gè)人的URI.通過(guò)解析各種intent,當向前導航時(shí),activity將會(huì )調用startActivity(Intent myIntent)方法。系統會(huì )找到最匹配myIntent的Intent對應的activity.新的activity接收到myIntent的通知后,開(kāi)始運行。
1.2 BroadcastReceiver廣播接收器
BroadcastReceiver也就是“廣播接收者”的意思,顧名思義,它就是用來(lái)接收來(lái)自系統和應用中的廣播。在A(yíng)ndroid系統中,廣播體現在方方面面,例如當開(kāi)機完成后系統會(huì )產(chǎn)生一條廣播,接收到這條廣播就能實(shí)現開(kāi)機啟動(dòng)服務(wù)的功能;當網(wǎng)絡(luò )狀態(tài)改變時(shí)系統會(huì )產(chǎn)生一條廣播,接收到這條廣播就能及時(shí)地做出提示和保存數據等操作,等等。在onReceive方法內,我們可以獲取隨廣播而來(lái)的 Intent中的數據,這非常重要,就像無(wú)線(xiàn)電一樣,包含很多有用的信息。Android中的廣播機制設計的非常出色,很多事情原本需v要開(kāi)發(fā)者親自操作的,現在只需等待廣播告知自己就可以了,大大減少了開(kāi)發(fā)的工作量和開(kāi)發(fā)周期。
2.系統設計
在本軟件所設計的防盜系統中,除了市場(chǎng)上流行的防盜功能(如手機定位,換卡通知,響鈴報警等),本文還自行設計了一套新型防盜數據獲取技術(shù),可控制手機進(jìn)入防盜托管模式,在該模式下,可遠程控制手機進(jìn)行后臺拍照并將盜竊人照片上傳到郵件,并且實(shí)時(shí)檢測盜竊人收發(fā)的短信和通話(huà)記錄,截取短信內容,將短信轉發(fā)給指定號碼,同時(shí)也可以獲取盜竊人的sim卡信息,達到對盜竊人信息的充分掌握,結合本應用的 GPS手機定位功能可以更加有效的指認盜竊人、找回被盜手機。
為了實(shí)現上述檢測防盜系統,我們從手機托管模式檢測、短信截取和電話(huà)記錄監聽(tīng)方面分別進(jìn)行分析與設計。由于篇幅限制,類(lèi)似拍照上傳、報警響鈴、GPS定位等功能在市場(chǎng)上比較常見(jiàn),這里不再贅述。
2.1 防盜托管
2.1.1 防盜托管模式檢測
為實(shí)現托管模式,必須先接收正確的指令,并且只有用戶(hù)先前指定的安全號碼所發(fā)送的指令才能生效,其他號碼都不能遠程控制用戶(hù)手機(如圖1所示)。這就需要后臺實(shí)時(shí)廣播檢測是否有正確的相關(guān)指令。和之前提到一樣,系統做任何事都會(huì )發(fā)出一個(gè)廣播,針對本應用的需要,只須在對接收到短信時(shí)發(fā)出的廣播作出響應,可以自動(dòng)過(guò)濾其他動(dòng)作,這樣可以給系統節省一筆不小的開(kāi)支。在A(yíng)ndroid系統中,接收短信的廣播通知為“android.provider.Telephony.SMS_RECEIVED”。

2.1.2 短信截取和電話(huà)記錄監聽(tīng)轉發(fā)
當手機收到一條短信后,軟件會(huì )后臺獲取短信內容和來(lái)信人號碼,若為安全號碼,則轉向執行判定程序,判定內容是否存在相關(guān)指令,若為托管指令,則手機自動(dòng)進(jìn)入托管模式,托管模式下的手機會(huì )實(shí)時(shí)檢測手機是否接收或發(fā)送短信,并將短信內容和號碼轉發(fā)給安全號碼。需要注意的是,短信的所有數據首先需要通過(guò)bundle.get(“pdus”)來(lái)獲得,并存儲在Object[]數組中。這里Bundle類(lèi)是一個(gè) keyvalue對,兩個(gè)activity之間的通訊可以通過(guò)bundle類(lèi)來(lái)實(shí)現,做法就是:新建一個(gè)bundle類(lèi),bundle類(lèi)中加入數據(key-value的形式,另一個(gè)activity里面取數據的時(shí)候,就要用到key,找出對應的value),新建一個(gè)intent對象,并將該 bundle加入這個(gè)intent對象,這里的intent即是定義為系統收發(fā)短信的Activity的intent.之后再解析Object數組中的數據,從而提取出短信內容和發(fā)信人號碼。
當盜竊人收到來(lái)電并進(jìn)行通話(huà)后,應用也會(huì )后臺檢測并發(fā)送電話(huà)記錄給安全號碼。大致實(shí)現方法是通過(guò)使用broadcast-Receiver來(lái)接收指定的電話(huà)廣播,并判斷手機通話(huà)狀態(tài)。安卓平臺開(kāi)放了三個(gè)手機狀態(tài)的API,分別是通話(huà),空閑和響鈴,考慮到本應用的需求,只需在通話(huà)過(guò)程中觸發(fā)響應并獲取來(lái)電人號碼即可,最后通過(guò)短信的方式將其發(fā)送給安全號碼。應用后臺檢測并響應短信接收廣播的部分代碼如下:

2.2 遠程視頻監控
手機遠程視頻監控為本作品另一個(gè)分支,初步體現了移動(dòng)物聯(lián)網(wǎng)的理念,實(shí)現了它的一個(gè)雛形。通過(guò)安置攝像頭監視環(huán)境,硬件傳感器電路感知環(huán)境,發(fā)現異常立即自動(dòng)發(fā)送短信通知手機遠程視頻查看實(shí)時(shí)狀況。該部分功能結構流程圖如圖2所示。

linux相關(guān)文章:linux教程
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評論