基于Android平臺的手機(jī)防盜與隱私保護(hù)解決方案
為實(shí)現(xiàn)托管模式,必須先接收正確的指令,并且只有用戶先前指定的安全號碼所發(fā)送的指令才能生效,其他號碼都不能遠(yuǎn)程控制用戶手機(jī)(如圖1所示)。這就需要后臺實(shí)時廣播檢測是否有正確的相關(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ī)會實(shí)時檢測手機(jī)是否接收或發(fā)送短信,并將短信內(nèi)容和號碼轉(zhuǎn)發(fā)給安全號碼。需要注意的是,短信的所有數(shù)據(jù)首先需要通過bundle.get(“pdus”)來獲得,并存儲在Object[]數(shù)組中。這里Bundle類是一個 keyvalue對,兩個activity之間的通訊可以通過bundle類來實(shí)現(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ā)送電話記錄給安全號碼。大致實(shí)現(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)的理念,實(shí)現(xiàn)了它的一個雛形。通過安置攝像頭監(jiān)視環(huán)境,硬件傳感器電路感知環(huán)境,發(fā)現(xiàn)異常立即自動發(fā)送短信通知手機(jī)遠(yuǎn)程視頻查看實(shí)時狀況。該部分功能結(jié)構(gòu)流程圖如圖2所示。
2.2.1 外部拓展硬件
遠(yuǎn)程視頻監(jiān)控涉及的硬件包括:一個自行設(shè)計制作的可燃?xì)怏w燈光報警器,一部帶有光線傳感器的安卓智能手機(jī),一個經(jīng)過改裝之后的TP-LINK W703N迷你無線路由器,一個普通家用無線路由器,一個網(wǎng)絡(luò)攝像頭(這里使用的是天敏S605攝像頭)。
各組件配合完成如下功能:利用可燃?xì)怏w燈光報警器感知網(wǎng)絡(luò)攝像頭監(jiān)視的區(qū)域,若環(huán)境氣體濃度超標(biāo)則亮強(qiáng)光;在安卓手機(jī)中裝入編寫的預(yù)制軟件,利用安卓手機(jī)自帶的光線傳感器時刻監(jiān)測報警器燈光的亮度,若超過閾值后則自動發(fā)送預(yù)制的報警短信給裝有安防精靈的手機(jī)端;手機(jī)端收到報警短信之后通過應(yīng)用聯(lián)網(wǎng)查看家中的攝像頭監(jiān)視區(qū)域視頻。
2.2.2 感知環(huán)境--傳感器電路的制作
評論