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