基于android系統(tǒng)的手機(jī)防盜論文_第1頁
基于android系統(tǒng)的手機(jī)防盜論文_第2頁
基于android系統(tǒng)的手機(jī)防盜論文_第3頁
基于android系統(tǒng)的手機(jī)防盜論文_第4頁
基于android系統(tǒng)的手機(jī)防盜論文_第5頁
已閱讀5頁,還剩173頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

近年來,智能手機(jī)的功能日趨強(qiáng)大,移動終端應(yīng)用程序?qū)映霾桓F。由于現(xiàn)在人們的工作繁忙,手機(jī)的丟失似乎也成為常有的事。與之帶來最讓人煩心的是私人數(shù)據(jù)的丟失及帶來的不安全隱患?;谝陨显?,本文設(shè)計了一款手機(jī)防盜追蹤軟件。本軟件利用Android系統(tǒng)的廣播機(jī)制,當(dāng)手機(jī)用戶開啟防盜追蹤功能后,本程序?qū)⒑笈_監(jiān)聽手機(jī)開機(jī)啟動、信號狀態(tài)、短信收發(fā)以及位置的改變,通過監(jiān)聽手機(jī)用戶SIM卡的IMSI碼的改變來判斷手機(jī)安全狀態(tài),監(jiān)聽并截獲安全短信內(nèi)容,實(shí)現(xiàn)非法用戶的手機(jī)號碼向合法可通過安全短信控制被盜手機(jī)鎖屏、銷毀隱私數(shù)據(jù)、發(fā)報警音等功能。最后將設(shè)計完成的軟件進(jìn)行測試,其所有功能都完美實(shí)現(xiàn),真正起到了手機(jī)防盜追蹤的作用。andinsecurityhiddentrouble.Basedontheabovereasons,thispaperintroducesthedesignofwillmonitorthebackgroundmobilephoneboot,signalcondition,sendandreceivetextcontent,realizetheillegaluserthemobilepnumberstosendspecialmessagetoinformtheuserofmobilephonefunction,currentstatusKeywords:AndroidsystemDroidRingBroadcastingmechanismListener目錄 1 1 2 21.2.2國外研究狀況 21.3開發(fā)研究內(nèi)容 32手機(jī)防盜應(yīng)用開發(fā)的基礎(chǔ) 4 4 43手機(jī)防盜應(yīng)用方案的設(shè)計 53.1UI設(shè)計 53.1.1UI窗口層 63.1.2UI主層 8 8 9 3.2.1應(yīng)用初始化 3.2.2功能選擇 3.2.3功能體驗(yàn) 3.2.4功能查看 3.2.5功能設(shè)置 3.3.1數(shù)據(jù)庫存儲服務(wù) 3.3.2監(jiān)聽按鈕事件服務(wù) 3.3.3開機(jī)啟動和短信廣播服務(wù) 3.3.4GPS服務(wù) 3.3.5私人數(shù)據(jù)的管理 4.1UI的實(shí)現(xiàn) 4.1.3PreferenceActivity 4.2.1廣播機(jī)制服務(wù) 4.2.2換卡短信通知 4.2.3定位手機(jī) 4.2.4數(shù)據(jù)銷毀 4.2.5鎖定手機(jī) 4.2.6發(fā)報警音 4.2.7數(shù)據(jù)庫存儲應(yīng)用 5.3換卡短信通知功能測試 6手機(jī)防盜應(yīng)用說明 隨著3G技術(shù)的不斷發(fā)展,手機(jī)移動應(yīng)用開發(fā)成為目前熱門的技術(shù)之一。種類繁多的手機(jī)應(yīng)用以及先進(jìn)的硬件,使得手機(jī)已經(jīng)不完全是用來通話的工具了,它巧妙的融合了PDA(PersonalDigitalAssistant,掌上電腦)、數(shù)碼相機(jī)以及MP3等諸多功能,一機(jī)多能且不斷向?qū)I(yè)化邁進(jìn)是現(xiàn)在手機(jī)的發(fā)展方向"。手機(jī)功能的增多以及不斷完善,自然價格也高低不一,好的手機(jī)可以賣到筆記本的價格。關(guān)于手機(jī)我們能想到很多人們擔(dān)心的話題。而最為愁人的就是現(xiàn)在的手機(jī)大都兼容各種電話卡,一旦丟失,就會機(jī)卡兩空。在我們忙碌的工作生活中,似乎手機(jī)丟失已經(jīng)成為了一種自然的事情。其實(shí)不論你的手機(jī)值不值錢,丟東西的事情本身就會讓人頭疼。那么該怎樣制服盜機(jī)者,在我們提高自身防范意識的同時,適當(dāng)?shù)臑槭謾C(jī)增加些防盜功能也是應(yīng)該的。在眾多手機(jī)操作系統(tǒng)中,Android手機(jī)操作系統(tǒng)由于他的完全開放性使得其應(yīng)用人LNUXKERNELFDrmerLL圖1.1Android系統(tǒng)構(gòu)架該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,其系統(tǒng)構(gòu)架如圖1.1所示,被譽(yù)為第一個完整、開發(fā)而免費(fèi)的移動平臺。Google提供在線文檔、工具、論壇和軟件開發(fā)工具包等資源,以便開發(fā)者在Android平臺上開發(fā)應(yīng)用程序。并且眾多手機(jī)制造商,如三星、摩托羅拉、HTC、LG和小米等,還有許多半導(dǎo)體公司,如英特爾、德州儀器、NVIDIA和高通等,參與Android手機(jī)設(shè)計。由此可見,Android發(fā)展前景不容小覷,已成為目前主流的手機(jī)操作系統(tǒng)之一。Android手機(jī)設(shè)備運(yùn)行在Linux操作系統(tǒng)下,這使得其上運(yùn)行的Android應(yīng)用程序具有很強(qiáng)的安全性。每一個Android應(yīng)用程序均運(yùn)行在不同的進(jìn)程中,每個進(jìn)程都對應(yīng)一個Dalvik虛擬機(jī)的實(shí)例。基于Java虛多個Dalvik虛擬機(jī)的實(shí)例在手機(jī)設(shè)備中可以并發(fā)運(yùn)行。Android應(yīng)用程序?yàn)橥泄艽a,所以,由應(yīng)用程序而導(dǎo)致系統(tǒng)崩潰的可能性很小,這也降低了設(shè)備崩潰的可能性2。綜觀Android手機(jī)系統(tǒng),我們不難發(fā)現(xiàn),應(yīng)用本系統(tǒng)開發(fā)手機(jī)的生產(chǎn)廠商多,用戶基數(shù)大,安全性高,并受到眾多大牌公司支持,基于以上優(yōu)越性,在Android系統(tǒng)上開毋庸置疑手機(jī)防盜應(yīng)用肯定歸屬于手機(jī)安全類軟件,對于安全軟件的開發(fā)與研究又是殺毒軟件公司首要考慮的功能之一,所以國內(nèi)的很多殺毒軟件公司在自己的產(chǎn)品中都涉及了防盜功能。例如金山手機(jī)衛(wèi)士、360手機(jī)衛(wèi)士、QQ手機(jī)管家等保護(hù)手機(jī)系統(tǒng)安全外外產(chǎn)日開手機(jī)蘋土圖1.1手機(jī)防盜英國一家手機(jī)服務(wù)公司宣布推出一整套手機(jī)防盜軟件的服務(wù),使用該服務(wù)的用戶在手機(jī)被盜后不僅可及時轉(zhuǎn)移手機(jī)信息,手機(jī)還能盜手機(jī)。當(dāng)用戶在手機(jī)中安裝這款軟件后,每月只需支付10英鎊(約合18美元)即可享受防盜服務(wù)。一旦手機(jī)被盜,用戶可立即致電公司。公司隨即向被盜手機(jī)發(fā)送指令,將里面存儲的信息全部轉(zhuǎn)移至安全服務(wù)器,隨后鎖定手機(jī)功能并使手機(jī)發(fā)出刺耳的鳴該公司介紹說,防盜程序啟動后,竊賊即便更換SIM卡也無法解除鎖定。此外,只要不取出電池,鳴聲就不會停止。用戶購買新手機(jī)后,還可申請將原來手機(jī)中的全部信息轉(zhuǎn)移至新手機(jī)內(nèi)。據(jù)倫敦市警察局統(tǒng)計,該市每月約有1萬部手機(jī)被盜。警方希望這一手機(jī)防盜軟件能改善這一局面3。美國的蘋果公司,在其官網(wǎng)上向所有用戶提供了一項(xiàng)云端技術(shù)服務(wù),只要蘋果手機(jī)或者蘋果的其他移動設(shè)備,都可以享受到手機(jī)衛(wèi)星定位功能。具體做法是:首先,在拿到蘋果后,你要先申請屬于你的AppleID,登錄蘋果商店或者在MobileMe上注冊,這個應(yīng)用就可以實(shí)時定位你的個應(yīng)用就可以實(shí)時定位你的iPhone的位置。+信息已于1分鐘前定位醋給給聲或發(fā)送信息遠(yuǎn)程錘室遠(yuǎn)程橙綿圖1.2蘋果手機(jī)防盜1.3開發(fā)研究內(nèi)容其最核心功能都用到了GPS、鎖屏、媒體播放等。因此,綜合以上各軟件優(yōu)點(diǎn),新型的手機(jī)防盜應(yīng)用軟件應(yīng)具有GPS定位、被盜時鎖屏、通過短信控制以最大音量發(fā)報警音、遠(yuǎn)程銷毀隱私數(shù)據(jù)以及偷拍盜竊者長相等功能。同時,防盜應(yīng)用軟件也應(yīng)充分利用操作因此,本課題的任務(wù)是設(shè)計一款基于Android平臺開發(fā)的一款手機(jī)防盜軟件。通過Android系統(tǒng)中的廣播機(jī)制后臺監(jiān)聽手機(jī)的各種狀態(tài),根據(jù)狀態(tài)的改變來判斷手機(jī)是否安全。一旦手機(jī)丟失,我們便可通過向失竊手機(jī)發(fā)送指令短信的方式,應(yīng)用Android求)、Service(服務(wù))以及Contentprovi具體位置,旨在為丟失手機(jī)用戶找回手機(jī)提供了重要依據(jù)。2手機(jī)防盜應(yīng)用開發(fā)的基礎(chǔ)Java由Sun(StanfordUniversityNetwork)公司于1995年5月為增強(qiáng)互聯(lián)網(wǎng)的交互性而設(shè)計。Java語言最早的名字為C++--,從名字上我們可以看出,Java語言的原型為C語言,后經(jīng)大量優(yōu)化在C基礎(chǔ)上增增減減,最終設(shè)計出這款現(xiàn)在企業(yè)級開發(fā)的第一語言4。Java語言具有極強(qiáng)的跨平臺能力,多語言的支持,占據(jù)著互聯(lián)網(wǎng)開發(fā)語言的首位?;贏ndroid系統(tǒng)的手機(jī)應(yīng)用全部應(yīng)用Java語言編寫完成。所以,想在Android系統(tǒng)上做出一個好的應(yīng)用來不僅要會Java語言,而且還要運(yùn)用熟練。對此,我通過觀看Mars老師的Java4Android視頻和對Java相關(guān)書籍的精讀與練習(xí),強(qiáng)化了自己對Java語言的掌握,使我對Java的運(yùn)用能力有了很大的提高,并為編寫與設(shè)計Android應(yīng)用知己知彼者百戰(zhàn)百勝。想在Android系統(tǒng)上做開發(fā),就一定要了解Android系統(tǒng),Android操作系統(tǒng)最初主要支持手機(jī),2005年Google收購了剛剛成立22個月的Android公司,也正是有了在Google這樣巨頭公司下發(fā)展的機(jī)會才使得Android系統(tǒng)迅猛發(fā)展。2007年11月5日,以Google為首的34家公司宣布成立OHA(OpenHandsetAlliance,開放手機(jī)聯(lián)盟)。2008年9月22日,美國運(yùn)營商T-MobileUSA在紐約正式發(fā)布第一款Google手機(jī)--T-MobileG1。Android平臺的主題思想和Google是一樣的,就是隨時隨地為每個人提供信息5。最早的Android版本為Android1.0(發(fā)條機(jī)器人),自Android系統(tǒng)發(fā)布第一版本(阿童木)2008年9月發(fā)布的Android第一代號的命名方法。其各版本logo如圖2.1所示。Android1.5Cupcake(紙杯蛋糕)Android2.0/2.0.1/2.1Eclair(松餅)Android2.2/2.2.1Froyo(凍酸奶)Android2.3Gingerbread(姜餅)Android3.0Honeycomb(蜂巢)Android3.1Honeycomb(蜂巢)Android3.2Honeycomb(蜂巢)Android4.0IceCreamSandwich(冰激凌三明Android5.0JellyBean(果凍豆)圖2.1Android版本在電子領(lǐng)域,要想擁有很好的市場前景,就必須應(yīng)用最先進(jìn)的設(shè)計技術(shù)、最成熟的設(shè)計理念以及最合理的設(shè)計方法才能使得產(chǎn)品得以發(fā)展。于是我選擇了目前市場應(yīng)用最為廣泛的金山手機(jī)衛(wèi)士、360手機(jī)衛(wèi)士和QQ手機(jī)管家表格1手機(jī)防盜UI、Function和Service對比比對參數(shù)金山手機(jī)防盜360手機(jī)防盜QQ手機(jī)防盜初始化設(shè)置步驟3步3步4步主界面信息欄個數(shù)6個6個5個進(jìn)入應(yīng)用層界面效果以文字為主視圖+文字以文字為主UI層底色灰色白色白色主要功能換卡短信通知銷毀數(shù)據(jù)定位手機(jī)發(fā)報警音鎖定手機(jī)防盜拍照換卡短信通知刪除數(shù)據(jù)追蹤手機(jī)位置響報警音鎖定手機(jī)數(shù)據(jù)刪除手機(jī)定位找回密碼遠(yuǎn)程鎖機(jī)輸入錯誤提示一般精準(zhǔn)一般GPS定位功能有有有短信監(jiān)聽發(fā)送有有有開機(jī)監(jiān)聽有有無從表格1中我們可以很清楚的看到,在UI方面360更為注重,以多圖少字的方式展現(xiàn)功能,使用戶更加喜歡,也方便了用戶對功能的理解。不過從Function上來看,金山手機(jī)防盜的設(shè)計就要優(yōu)于另外兩家,在所有功能的基礎(chǔ)上還加進(jìn)了一項(xiàng)防盜拍照,這是僅有4項(xiàng)功能的QQ所沒能想到的安全設(shè)計。綜合以上軟件優(yōu)點(diǎn)便是此軟件將要實(shí)現(xiàn)并達(dá)到的目標(biāo)。因此我將結(jié)合360的UI、金山的Function和Service做出一款即看上去漂亮而且功能也強(qiáng)大的手機(jī)防盜軟件。UI設(shè)計是指對軟件的人機(jī)交互、操作邏輯、界面美觀的整體設(shè)計。好的UI設(shè)計不僅是讓軟件變得有個性有品味,還要讓軟件的操作變得舒適、簡單、自由,充分體現(xiàn)軟件的定位和特點(diǎn)。如圖3.1就是一副很美觀的UI。軟件設(shè)計可分為兩個部分:編碼設(shè)計與UI設(shè)計。編碼設(shè)計大家都很熟悉,但是UI設(shè)計還是一個很陌生的詞,即使一些專門從事網(wǎng)站與多媒體設(shè)計的人也不完全理解UI的意思。UI的本意是用戶界面,是英文User和Interface的縮寫。從字面上看是用戶與界面2個組成部分,但實(shí)際上還包括用戶與界面之間的交互關(guān)系。在飛速發(fā)展的電子產(chǎn)品中,界面設(shè)計工作一點(diǎn)點(diǎn)的被重視起來。做界面設(shè)計的"美工”也隨之被稱之為“UI設(shè)計師”或“UI工程師”。其實(shí)軟件界面設(shè)計就像工業(yè)產(chǎn)品中的工業(yè)造型設(shè)計一樣,是產(chǎn)品的重要賣點(diǎn)。一個電子產(chǎn)品擁有美觀的界面會給人帶來舒適的視覺享受,拉近人與商品的距離,為商家創(chuàng)造賣點(diǎn)。界面設(shè)計不是單純的美術(shù)繪畫,他需要定位使用者、使用環(huán)境、使用方式并且為最終用戶而設(shè)計,是建立在科學(xué)性之上的藝術(shù)設(shè)計6。綜合上述UI設(shè)計特點(diǎn),加上方便實(shí)用的設(shè)計特點(diǎn),我將本手機(jī)防盜應(yīng)用的UI分為了5層,他們由UI窗口層、UI主層、UI功能體驗(yàn)層、UI功能查看層和UI功能設(shè)置層組成。其層次流程如圖3.2所示。用戶開啟應(yīng)用軟件Y初始化UI功能查看層判斷是否是第一次UI主層UI功能N確認(rèn)UI功能圖3.2UI總流程圖UI窗口層分為兩個界面,一個是初次開啟應(yīng)用時進(jìn)入的設(shè)置初始化界面,另一個則是用戶在非第一次開啟應(yīng)用時彈出的用戶身份驗(yàn)證窗口。回回手機(jī)防盜設(shè)置防盜密碼設(shè)置防盜密碼有什么用?設(shè)置安全手機(jī)號理議墻寫家人或朋友手機(jī)號安全手機(jī)號有什么用?我回防資密碼圖3.3初始化設(shè)置當(dāng)用戶第一次開啟應(yīng)用時,展現(xiàn)在用戶眼前的是一個設(shè)置初始化界面,如圖3.3所示。用戶可按照相應(yīng)提示完成放到設(shè)置,其碼。防盜安全密碼將用于驗(yàn)證應(yīng)用本軟件用戶的身份,在非第一次開啟此防盜軟件時將需要用戶輸入防盜安全密碼。另外,設(shè)置好的防盜安全密碼將會編進(jìn)防盜指令,用于控制手機(jī)實(shí)現(xiàn)相應(yīng)的操作。安全手機(jī)號的設(shè)置非常重要,設(shè)置成功后,此號碼將被認(rèn)為是唯一可信賴的手機(jī)號碼,當(dāng)手機(jī)被盜后,防盜軟件將會按照指令向安全號碼手機(jī)發(fā)送手機(jī)狀態(tài)。輸入密碼圖3.4驗(yàn)證窗口圖3.4展現(xiàn)的是用戶在非首次開啟應(yīng)用時彈出的驗(yàn)證用戶信息窗口。此通行密碼為用戶設(shè)置的防盜安全密碼,通過此方式保證了用戶設(shè)置信息的安全性。UI窗口層為本應(yīng)用軟件的最頂層,此層的UI設(shè)計好壞決定了用戶對本軟件的第一印象,所以要想得到用戶的肯定,這層的設(shè)計一定要做好。為此,在選擇文字的字體、顏色、大小以及擺放位置做了無數(shù)次的調(diào)整,努力達(dá)到最好、最舒適。除了這些我還在輸入文本框里加進(jìn)了提示信息如:輸入密碼框里的“6~12位數(shù)字或字母”等,在方便用戶應(yīng)用的同時也美化了UI。UI主層是個選擇界面如圖3.5,本層為用戶提供3種主要操作,分別為防盜功能體防盜功能體驗(yàn)了解手朝助溶提信相標(biāo)動些防盜指令查看防盜信息設(shè)置圖3.5UI主層在本層UI的上面是一個宇宙圖片,寓意著安裝本應(yīng)用后,即使你的手機(jī)被帶到了宇宙我們也能找到它,當(dāng)然這有些夸張了,不過我們還是要對此軟件充滿信任的。除了這張宇宙圖片我還在每個選項(xiàng)前后都加附上了相應(yīng)功能的logo,學(xué)習(xí)360的多為達(dá)到UI布局整齊的效果,我采用列表式布局,將選項(xiàng)按照用戶需求量進(jìn)行排布,這樣的布局可是UI實(shí)現(xiàn)整齊、清晰、功能突出等效果,屬于理想的UI設(shè)計。UI功能體驗(yàn)層如圖3.6所示,此UI界面同樣繼承優(yōu)良設(shè)計布局方案將本應(yīng)用所有功能統(tǒng)一以列表形式列出,最前端圖標(biāo)代表著此條選項(xiàng)所要實(shí)現(xiàn)的功能,然后每個選項(xiàng)的功能說明以大字功能名加小子簡要說明的形式整齊的展現(xiàn)在界面上,讓用戶對選項(xiàng)功oo四州晚上11:26防盜功能體驗(yàn)銷毀數(shù)據(jù)道來場信等、保護(hù)私安全鎖定手機(jī)防盜拍照發(fā)報警音換卡短信通知圖3.6UI功能體驗(yàn)層當(dāng)用戶點(diǎn)擊進(jìn)入UI功能體驗(yàn)層的每個選項(xiàng)后,就會看到每個功能實(shí)現(xiàn)的具體說明,而且在每個可以單機(jī)實(shí)驗(yàn)的功能里都加進(jìn)了功能體驗(yàn)按鈕,可以讓用戶體驗(yàn)本功能的真在UI指令查看層,總結(jié)羅列了開啟每個防盜功能的防盜指令,用戶可以在這里方便快捷的得到所需防盜指令,如圖3.7所示。DD防盜指令查看盜手機(jī)定位手機(jī):dingwei#防流密碼銷毀數(shù)據(jù):xtaohui#防盜密碼鎖定手機(jī):發(fā)報量音:注:銷線致?lián)噶蠲枧虐踩趾l(fā)送ll晚上11:26圖3.7UI指令查看層UI的設(shè)置層是UI非常重要的一個視圖層,此層要以最方便,最簡約,最快捷為核心排版設(shè)計,而且要盡量覆蓋本軟件的所有功能設(shè)置。基于以上要點(diǎn),首先總結(jié)本防盜軟件的設(shè)置功能如表2。表格2設(shè)置功能所需功能功能目的功能體現(xiàn)形式設(shè)置此功能鍵的意義防盜開關(guān)方便控制防盜功能的開啟與關(guān)閉開關(guān)按鈕需卸載就能關(guān)閉防盜換卡鎖定開關(guān)避免因用戶自己換卡執(zhí)行錯誤指令開關(guān)按鈕過此開關(guān)對鎖定功能進(jìn)行單獨(dú)體驗(yàn)換卡短信通知開關(guān)避免因用戶自己換卡執(zhí)行錯誤指令開關(guān)按鈕過此開關(guān)對換卡短信通知功能進(jìn)行單獨(dú)體驗(yàn)防盜密碼重置用于修改安全密碼加密形式方便用戶在首次初始化后改變防盜安全密碼安全手機(jī)號重置用于修改安全手機(jī)號碼顯示預(yù)置號碼方便用戶在首次初始化后改變防盜安全手機(jī)按照表格2中的功能需求,我在設(shè)置UI里建立了與之相應(yīng)的5個控件,以方便用戶對軟件的應(yīng)用控制。最終設(shè)計出圖3.8的效果來實(shí)現(xiàn)功能。骨防盜保護(hù)防盜密碼K安全手機(jī)號A圖3.8UI設(shè)置層些,介紹完后還要在相應(yīng)的位置給出用于填寫信息的控件。3.2.2功能選擇功能選擇的UI主要分為兩部分,可以從上到下分為兩段,在布局控件中用效果”。的宇宙圖片。pngpneumpng0jbshopc1ppgpne圖3.9文件管理功能體驗(yàn)UI分為兩層呈現(xiàn)。外面一層同樣用一個繼承ListActivity的類來實(shí)現(xiàn),在list空間里排布好每個圖標(biāo)和文字的位置,這里要用到ImageView控件添加圖片。內(nèi)層則是一個介紹體驗(yàn)層,這層的總體排布用LinearLayout的垂直分布就可以完成。添加Button按鈕實(shí)現(xiàn)用戶體驗(yàn)功能。這個界面完全是文字的排布,同樣用ListActivity加以LinearLayout垂直型布局就可以完成。功能設(shè)置UI為用戶可操控界面,所以要使用繼承PreferenceActivity的類來完成相應(yīng)的功能,此類是Android專門用來做UI設(shè)置界面用的,所以這個類中方法的應(yīng)用其布局空間類型主要分為3大類AppWidgetSearchable,其中最常用的是PreferenceScreen,在這里又包含CheckBoxPreference、手機(jī)防盜應(yīng)用軟件在實(shí)際應(yīng)用過程中一定是常駐后臺的軟件,所以不管用戶是否打開軟件,只要是開啟了防盜功能,那此軟件們就必須引進(jìn)一個強(qiáng)大的后臺支持,那就是Service既后臺服務(wù)。SQLite是一種嵌入式系統(tǒng)中很常見的數(shù)據(jù)庫,而且所有的數(shù)據(jù)都儲存在一個文件數(shù)據(jù),還可以通過定義ContentProvidSharedPreferences是以鍵值對來存儲應(yīng)用程序的配置信息的一種方式,它只能存儲基本數(shù)據(jù)類型。一個程序的配置文件僅可以在本應(yīng)用程序中使用,或者說只能在同一File是一種文件存儲方式也是一種較常用的方法,在Android中讀取/寫入文件的openFileOutput()方法來讀取設(shè)備上的文件??ǖ腎MSI碼等信息以鍵值對的形式存入其中進(jìn)行保存。一個Value對應(yīng)一個Key值,如圖3.10所示,Key值便是我們所保存的數(shù)據(jù)信息,這樣的保存方式既快捷又準(zhǔn)確。用戶信息值用戶信息值用戶信息值圖3.10數(shù)據(jù)庫存儲方式監(jiān)聽器是Android設(shè)計的一種監(jiān)聽模式,當(dāng)用戶執(zhí)行了某些動作時,需要系統(tǒng)對這些動作做出相應(yīng)的反應(yīng),那么這時就需要監(jiān)聽器來捕獲這些來自用戶的信息,將其傳遞在我們的軟件中將會運(yùn)用大量的監(jiān)聽器,其中包括監(jiān)聽用戶點(diǎn)擊按鈕事件、監(jiān)聽開方法來實(shí)現(xiàn),當(dāng)觸發(fā)相應(yīng)的監(jiān)聽器后我們就可以執(zhí)行我們想要的操作了。防盜應(yīng)用開啟后會在第一時間對手機(jī)的SIM卡進(jìn)行檢查,判斷時候更換。那么這種監(jiān)聽開機(jī)需要另一項(xiàng)Android機(jī)制的支持來完成——廣播機(jī)制。收都會產(chǎn)生一個廣播。圖3.11就是一張廣播的運(yùn)行機(jī)制原理圖。圖3.11Android廣播機(jī)制各種廣播在Android系統(tǒng)中運(yùn)行,當(dāng)系統(tǒng)/應(yīng)用程序運(yùn)行時便會向Android注冊各的應(yīng)用程序注冊事件,不同的廣播可能處理不同的事件也可能處理相同的廣播事件,這時就需要Android系統(tǒng)為我們做篩選。本軟件就利用開機(jī)廣播和短信接收廣播來判斷手機(jī)狀態(tài)和控制手機(jī)。3.3.4GPS服務(wù)對于GPS我想大家現(xiàn)在都很了解,至少不會陌生,一般情況下每個裝載GPS的設(shè)備都會由3顆衛(wèi)星進(jìn)行定位,在需要時可將設(shè)備所在的位置信息發(fā)送到GPS上,例如返回的經(jīng)緯度,有了這些位置信息我們便可進(jìn)行需要的操作10。在本應(yīng)用中將會運(yùn)用Android手機(jī)的GPS定位系統(tǒng),為我們獲取手機(jī)的當(dāng)前位置,當(dāng)用戶的手機(jī)丟失后恐怕最擔(dān)心的就是自己私人信息的外露,出于此考慮,本軟件將通過繼承IntentService的類,對用戶的通訊錄、媒體圖片進(jìn)行備份并向安全手機(jī)發(fā)送,同時將原有數(shù)據(jù)刪除,以防止不法分子的非法企圖。4手機(jī)防盜應(yīng)用方案的實(shí)施按照手機(jī)防盜應(yīng)用技術(shù)的設(shè)計理念,我將從UI入手,在做完界面的基礎(chǔ)上組合、銜接并加入相應(yīng)的功能,最后通過Service實(shí)現(xiàn)后臺監(jiān)聽、儲存、處理等功能。在實(shí)現(xiàn)這些功能之前我們需要先搭建Android開發(fā)環(huán)境,其具體操作流程見附表二。又構(gòu)造了多個繼承Activity類的子類。其中在我們的軟件里用到了ListActivity和PreferenceActivity兩個子類和Activity本身。要使用Activity以及其子類首先要知道Activity的生命周期,只有知道其生命周期的順序才能控制好界面的顯示。圖4.1為Google官方給出的Activity生命周期流程T圖4.1Activity生命周期在本軟件中有8個UI直接通過繼承Activity類構(gòu)成,他們的應(yīng)用方法大同小異,我就拿其中最復(fù)雜的初始化界面來介紹。初始化界面的整體設(shè)計流程圖如圖4.2所示。提供控件tView顯示界面事件控件為每個判斷手機(jī)號是否不為空是否一致否合法不為空N-N-N-提示輸入狀態(tài)錯誤提示輸入狀態(tài)錯誤圖4.2初始化UI流程圖首先新建一個繼承Activity的類First在此類里面對UI界面進(jìn)行編輯以下為關(guān)鍵代碼:1234//覆寫onCreate方法publicvoidonCreate(Bundlesave//繪制UI界面56789//用findViewById的方法聲明并得到Button控件Buttonbt_sure=(Button)findViewById(R//用setOnClickListener方法綁定Button監(jiān)聽器,獲取用戶點(diǎn)擊按鈕事件bt_sure,setOnClickListener(//用if……elseif……elseif語句對用戶設(shè)置信息進(jìn)行判斷if(Str_password1.trim().equals(""http://用Toast.makeText()方法做出相應(yīng)提示Toast.makeText(First.this,"密碼不能為空",Toast.LENGTH_LONG).show();//建立數(shù)據(jù)庫編輯對象//儲存安全密碼到數(shù)據(jù)庫editor.putString("p//提交改動到數(shù)據(jù)庫并保存//創(chuàng)建intent對象//指明跳轉(zhuǎn)Activity//開啟要跳轉(zhuǎn)的UIFirst.this.startActivit圖4.3layout布局控件示意圖為Activity提供布局支持的layout文件是UI如何顯示的控制中心,這個文件里的控件屬性決定了控件的顯示位置,圖4.3是為First提供布局控件的layout的示意圖,其主要代碼如下:123456789//第一行定義了布局文件所鏈接數(shù)據(jù)庫的版本以及支持的語言,"utf-8"為中文。//采用LinearLayout絕對布局的orientation屬性定為vertical既垂直布局,第//一行屬性為Android固定格式,我們不用過多研究<LinearLayoutxmlns:android="http:////在布局文件中放進(jìn)文本框并定義相關(guān)屬性//嵌套絕對布局的水平布局//嵌套相對布局Android中設(shè)立了一個統(tǒng)一管理文件,這個文件可以理解為Android的一個注冊表文件,在這個文件中,我們可以聲明我們自己定義的權(quán)限。如果所用的組件需要權(quán)限但沒有在這個文件注冊,應(yīng)用程序就會無法正常運(yùn)行。任何一個Activity類都是需要注冊的,所以本應(yīng)用的AndroidManifest.xml主要代碼如下:123456789//注冊接受開機(jī)廣播權(quán)限<uses-permissionandroid:name="and//注冊發(fā)送短信權(quán)限<uses-permissionandro//注冊獲取具體地址權(quán)限<uses-permissionandroid:name="android.permission.A//請求Activity顯示<categoryandroid:na//注冊廣播接受類android:name="ent.action.B00T_COM//注冊服務(wù)類<serviceandroid:name=".GPS"></service>ListActivity直接繼承于Activity,是手機(jī)基本應(yīng)用中最常用的一類應(yīng)用程序。這個類得到的。在繼承ListActivity的類中要想顯示列表內(nèi)容就必須要調(diào)用List中了。下面以UI功能體驗(yàn)層為例根據(jù)圖4.5的程序流程圖分析下代碼:ntView顯示界面等待用戶點(diǎn)擊事件主框架應(yīng)用監(jiān)聽器據(jù)框架通過入數(shù)據(jù)到到圖4.5體驗(yàn)功能UI流程圖123456789//首先我們的體驗(yàn)層要繼承ListActivity//在這里設(shè)置各功能對應(yīng)的數(shù)值//這里我們需要在layout文件中設(shè)置兩個布局文件,一個用于主框架,另一個是為//list單獨(dú)建立的,專門擺放list中的控件,下面這句代碼就是主框架//建立一個HashMap放進(jìn)ArrayList中ArrayList<HashMap<String,Object>>=newArrayList<HashMap<Str//分別生成對象,以mapl為例,后面4組方法相同HashMap<String,Object>map1=newmapl.put("tiyan","定位手機(jī)");map1.put("jianjie","獲取手機(jī)當(dāng)前位置,便于您找回");mapl.put("img",R.drawable.din//將Map加入list,這樣數(shù)據(jù)就存放在列表當(dāng)中啦//生成Adapter,并實(shí)現(xiàn)通過setListAdapter()方法實(shí)現(xiàn)list//覆寫onListItemClick()方法獲得用戶點(diǎn)擊事件//TODOAuto-generated//intent.putExtra("textI//“防盜功能體驗(yàn)”界面{Tiyan.this.startActivi}}value_2value_3key_2value_2value_3value_2value_3key_3圖4.6展示了在ListActivity中兩個layout的布局框架,以下為代碼分析:在tiyan.xml文件中只有一個ListView控lt;!--體驗(yàn)列表-->//這里注意ListView的id一定為list,這是android系統(tǒng)中默認(rèn)的id,不能自//scrollbars屬性為選擇滾動條方向,這里我們定tiyanlist.xml文件:在tiyanlist.xml文件中采用相對布局RelativeLayout,以方便控件的擺放//ImageView為圖片View,是用于添加圖片的控件//一下是兩個文本信息,就是實(shí)際列表中要顯示的值4.1.3PreferenceAcdrawable-ldpi圖4.7Preference的布局文件其shezhi.xml文件構(gòu)架如圖4.8所示。圖4.8shezhi.xml文件構(gòu)架控件屬性在本軟件中的應(yīng)用如圖4.9所示。PositiveNegat圖4.9shezhi.xml文件屬性構(gòu)架其代碼就是對屬性進(jìn)行相應(yīng)配置即可如android:password="true"等,這里就不做Dialog是android開發(fā)過程中最常用到的組件之一,它包括以下幾種類型:1.警告對話框:Alertialog3.日期選擇對話框:DatePickerDialog4.時間選擇對話框:TimePickerDialog5.自定義對話框:從Dialog繼承一是直接new一個Dialog對象,然后調(diào)用Dialog對象的show和dismiss方法來二是在Activity的onCreateDialog(intid)方法中創(chuàng)建Dialog對象并返回,然后本軟件就采用第二種方法用于顯示彈出的對話框。其程序流程圖如圖4.10所示。創(chuàng)建一個Dialog方法Layout主框架方法渲染調(diào)用layout等待用戶點(diǎn)擊事件應(yīng)用定監(jiān)聽器Y不為空—N—提示錯誤信息判斷點(diǎn)擊的按提示錯誤信息圖4.10Dialog流程圖123456789//首先先創(chuàng)建一個Dialog函數(shù)privatevoidputPWDialog(){//渲染布局文件Viewview=inflater.infla//生成Dialog對象并進(jìn)行設(shè)置AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("輸入密碼");//顯示Dialog界面//監(jiān)聽確定按鈕btn_sure.setOnClickListener//信息核對提示//監(jiān)聽退出按鈕btn_exit.setOnClickListener//完全退出程序MyApplication.getInstance().exit();}經(jīng)過大量的調(diào)整、核對以及調(diào)試,我們的UI界面就這樣完成啦。到此為止把我們的軟件安裝到手機(jī)上就可以進(jìn)行所有界面的切換了。有了完整的UI,我們就可以在Function里實(shí)現(xiàn)這些UI對應(yīng)的功能。對于任何一個軟件來說,無論它有什么樣的UI,人們最終想要獲得的還是軟件的功能。所以,只有Function的完美實(shí)現(xiàn)才能體現(xiàn)出一個軟件的真正價值。之前已經(jīng)介紹了Android系統(tǒng)中廣播機(jī)制的概念,這里就主要說明在本軟件中所用到的3種廣播——開機(jī)完成廣播、服務(wù)狀態(tài)廣播和短信接收廣播。開機(jī)完成廣播和服務(wù)狀態(tài)廣播用于監(jiān)測SIM卡的狀態(tài)改變。當(dāng)用戶開機(jī)完成時,系統(tǒng)就會向接收開機(jī)完成廣播的應(yīng)用軟件發(fā)送開機(jī)完成廣播,告訴他們已完成開機(jī)動作,此時軟件就可以在接收此指令后做出自己需要的動作,例如開機(jī)運(yùn)行的軟件就都需要接收開機(jī)完成廣播。服務(wù)狀態(tài)廣播也是同樣的原理,當(dāng)手機(jī)檢測到信號后就會由系統(tǒng)向所短信接收廣播是當(dāng)手機(jī)接收到短信時Android系統(tǒng)向應(yīng)用程序發(fā)送的一種廣播。手機(jī)系統(tǒng)中自帶的有些功能都要通過這種廣播來完成動作。例如手機(jī)收到短信時會產(chǎn)生音樂和振動等狀態(tài),這就是由短息模塊在接收到系統(tǒng)短信接收廣播后作出的動作。BroadcastReceiver類,本軟件就通過繼承此類實(shí)現(xiàn)接收所有廣播。在Android中光有接收的類還不行,要想讓系統(tǒng)把廣播發(fā)送到你的應(yīng)用程序還必須在AndroidManifest.xml文件中進(jìn)行權(quán)限注冊,讓系統(tǒng)知道你需要接收廣播并給你開放ROOT允許你使用才行。下面代碼為本應(yīng)用所有的權(quán)限注冊代碼:123456789android:name="android.permission.ACCESS_Candroid:name="android.permission.ACCESSandroid:name="android.permission.ACCESSandroid:name="android.permission.ACCandroid:name="android.permission.CHANGEandroid:name="android.permission.CHAandroid:name="android.permissiandroid:name="android.permission.REandroid:name="android.permiandroid:name="android.permission.RECEIVE_android:name="android.permissiandroid:name="android.permiandroid:name="android.permisandroid:name="android.permisandroid:name="android.permission在本軟件中遠(yuǎn)程控制手機(jī)就是通過此短信廣播接收機(jī)制實(shí)現(xiàn)的。當(dāng)系統(tǒng)收到短信后會向需要接收廣播的應(yīng)用發(fā)送短信廣播,本應(yīng)用接收廣播后就可根據(jù)短信內(nèi)容做出相應(yīng)的動作了。其服務(wù)程序流程圖如圖4.11所示。方法判斷防盜保護(hù)是否已開啟YNNN毀數(shù)據(jù)指令—Y-得到數(shù)據(jù)庫獲取地址并向安全手機(jī)發(fā)送執(zhí)行手機(jī)鎖屏程序執(zhí)行于機(jī)發(fā)報警音備份并銷毀原有數(shù)據(jù)圖4.11SMS服務(wù)流程圖7172345689//創(chuàng)建SMSReceivedBroadcastReceiver類繼承BroadcastReceiver類實(shí)現(xiàn)接收短信廣播publicclassSMSReceivedBroadcastReceiverextendsBroadcastReceiver{//覆寫父類onReceive方法執(zhí)行動作publicvoidonReceive(Context/檢測防盜保護(hù)是否開啟//通過msgs[i].getDisplayOriginatingAddress()方法得到來源短信電話號碼//對比是否為安全手機(jī)號//1.執(zhí)行GPS定位//2.執(zhí)行鎖定手機(jī)//3.執(zhí)行發(fā)報警音//4.執(zhí)行銷毀數(shù)據(jù)}本應(yīng)用在開機(jī)完成后首先接收系統(tǒng)發(fā)出的開機(jī)完成廣播,這時軟件就會在后臺開始檢測SIM卡的IMSI碼信息,如果此信息與原保存的IMSI碼不一致,則說明手機(jī)處于非安全狀態(tài)。待手機(jī)檢測到信號,可執(zhí)行移動服務(wù)的時候,服務(wù)狀態(tài)廣播就會向手機(jī)所有應(yīng)用發(fā)送此廣播。當(dāng)本應(yīng)用接收到此廣播后就會立即向安全手機(jī)號發(fā)送SIM卡被更換的報告。其服務(wù)效果如圖4.12所示。開機(jī)完成開機(jī)完成獲取信號服務(wù)機(jī)系統(tǒng)發(fā)送廣播圖4.12開機(jī)檢測SIM卡信息流程圖123456//創(chuàng)建一個用于開機(jī)接收廣播的類BootCompleteReceiver//覆寫父類中的onReceive執(zhí)行動作publicvoidonReceive(Contextc//判斷是否開啟防盜保護(hù)和換卡通知789//通過getSubscriberId()方法提取SIM卡IMSI號//判斷是否與安全I(xiàn)MSI號相等}//不等則后臺向安全手機(jī)號發(fā)送短信List<String>message=manager.divideMessage("手機(jī)IMSI碼為:"+safeIMSI+"的手機(jī),SIM已被更換,更換的IMSI碼為:"+IMSI);manager.sendTextMessage(safenumber,null,msg,nul1,Android系統(tǒng)可通過手機(jī)的GPS模塊為我們提供當(dāng)前手機(jī)的位置信息既經(jīng)緯度。然后我們再通過向服務(wù)器發(fā)送地址請求的方式得到手機(jī)的具體位置既街道等。其具體實(shí)現(xiàn)流程圖如圖4.13所示。方法得到手機(jī)的經(jīng)緯度通過DefaultHttpClient().E圖4.13GPS定位流程圖123456789//建立一個GPS類繼承Service//得到LocationManager對象//獲取指定時間指定偏移距離地址信息locationManager.requestLocationUpdates(}//實(shí)現(xiàn)LocationListener接口publicclassTestLocationListenerimpleme//當(dāng)用戶位置發(fā)生改變時獲取經(jīng)緯度//指定請求服務(wù)器域名"/maps/api/geocode/json?latln//創(chuàng)建一個HttpClient對象HttpClienthttpClient=newDefaultHttpClient(;//向指定的URL發(fā)送Http請求HttpResponseresponse=httpClient.execute(newHttpGet(url));//取得服務(wù)器返回的響應(yīng)//生成Gson對象//解析Gson數(shù)據(jù)并存入testResulttestResult=gson.fromJson(responseDa有了提供具體位置的GPS服務(wù)類,我們只需將信息通過SMS發(fā)送到指定安全號碼即可遠(yuǎn)程獲得手機(jī)的具體位置了。為了避免隱私泄露,我們需要創(chuàng)建一個專門的類用于處理我們的用戶信息,此類應(yīng)具有備份和刪除兩個功能。對于用戶的隱私文件我們把焦點(diǎn)主要放在聯(lián)系人和媒體上。因此,我們需要連接并提取聯(lián)系人和媒體的資料,并擁有刪除這些文件的權(quán)限方可達(dá)到目的。其實(shí)現(xiàn)流程圖為圖4.14所示。覆寫方法圖4.14銷毀數(shù)據(jù)流程圖123456789//創(chuàng)建創(chuàng)建TaskService類繼承IntentService類//覆寫父類onHandleIntent方法//通過intent.getIntExtra方法提取選擇功能Log.i("guard","備份聯(lián)系人");Log.i("guard","刪除聯(lián)系人");Log.i("guard","刪除媒體信息");}當(dāng)收到鎖定手機(jī)的指令后,要求手機(jī)立刻進(jìn)入鎖屏狀態(tài),只能在屏幕上輸入安全密碼,密碼驗(yàn)證通過后手機(jī)會恢復(fù)正常,要是密碼錯誤則會禁止用戶任何操作,直到密碼輸入正確為止才能使用。其實(shí)現(xiàn)效果如圖4.15所示。收到鎖屏指令判斷是否獲得權(quán)限請求設(shè)備權(quán)限是否同意獲得-Y-執(zhí)行鎖屏命令N退出程序圖4.15鎖屏流程圖●DevicePolicyManager:顧名思義,這個類的作用是管理設(shè)備。通過這個類,我們可以實(shí)現(xiàn)屏幕鎖定、亮度調(diào)節(jié)甚至是恢復(fù)出廠設(shè)置等功能。OnReceive方法可以根據(jù)不同的Action執(zhí)行不同的動作。要想使用DevicePolicyManager中的方法,首先要定義一個Component。然后通過管理這個組件來啟動一個DeviceAdminReceiver。注冊一個廣播,用于監(jiān)聽權(quán)限的變化,代碼在AndroidMenifest.xml文件中:123456android:description="http://表示此功能所需的權(quán)限android:permission="android.permission.BI789//表示這個動作的跳轉(zhuǎn)界面<actionandroid:name="android.app.action其中,android:resource="@xml/lock_screen_admin"所指向的內(nèi)容如下:123456xmlns:android="/apk/r實(shí)現(xiàn)一個繼承自DeviceAdminReceiver的類,實(shí)現(xiàn)必須的方法。這個類基本不用寫這段代碼用來在第一次運(yùn)行的時候激活component,只要激活一次之后,這個component就會一直是激活的。使用startActivityForResult()可以在onResult方法中調(diào)用lockNow()來鎖屏,當(dāng)不是第一次運(yùn)行的時候,直接調(diào)用lockNow()鎖屏。1323456789mDevicepolicymanager.lockDevicePolicyManager.ACTION_ADD_DEVICEintent.putExtra(DevicePolicyManager.EXTRA_ADDE碼如下所示:12mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MmAudioManager,getStreamVolume(AudioManager.STREAM_M由于本程序正常工作時運(yùn)行在后臺,所以要運(yùn)用數(shù)據(jù)庫存放數(shù)據(jù)。這里數(shù)據(jù)庫的運(yùn)用在每個單元功能內(nèi)都必不可少,是否開啟防盜功能、是否是第一次啟動應(yīng)用程序、安全手機(jī)號、安全密碼等數(shù)據(jù)都交由數(shù)據(jù)庫保存。以安全密碼為例在程序所示:123456789//連接數(shù)據(jù)庫生成稱對象//提取安全密碼運(yùn)用//生成Editor對象//修改更新數(shù)據(jù)editor.putString("Ss//提交數(shù)據(jù)并保存同時開啟兩臺模擬器,兩臺的電話號碼分別15555215556。在如圖5.1所示。如圖5.1所示。魯剛1:35AM遙控被盜手機(jī)時,需要防盜密碼設(shè)置安全手機(jī)號找回防盜密碼英文防盜保護(hù)已開啟防盜密碼點(diǎn)擊修改安全手機(jī)號換卡后鎖定換卡后短信通知置一圖5.1初始化設(shè)置在設(shè)置界面里開啟所有功能。5.2手機(jī)定位功能測試15555215554發(fā)送指令:123456#dingwei,(因?yàn)槭悄M器,所以返回的地址信息如圖5.2所示。NomNomMeso圖5.2定位功能由于是模擬器演示,模擬器不支持中文,所以現(xiàn)在返回的是一些亂碼,到真機(jī)上就能看懂了。r窗口中進(jìn)入data/data/j.fangdao文件夾,如圖5.3所示。Name用制困進(jìn)制倒還出到屈困倒用制困進(jìn)制倒還出到屈困倒ppdatproprty圖5.3換卡通知date在shared_prefs文件夾中找到j(luò).fangdao_preferences.xml文件并將其倒出。如圖當(dāng)j.fangdao_preferendontpanic圖5.4數(shù)據(jù)庫位置1<2xmlversion='1.0'encodi2曰<map>3<booleanname="changeSI5<atringname="8<booleanname="prot10<boolean圖5.5數(shù)據(jù)庫IMSI碼更換前1?xmlversion='1.0'encoding='atf-82曰<map>3<booleanname="cha4<booleanname="sendID"value="true"/>4<booleanname="sendID"value="true"/>7<booleanname="Dialog"value="true7<booleanname="Dialog"value="true"/>9<stringname="password">123456</string>10<booleanname="first"value="false"圖5.6數(shù)據(jù)庫IMSI碼更換后關(guān)擬器然后再打開,開機(jī)完成到更換SIM卡信息如圖所示。5.4鎖屏功能測試機(jī)機(jī)發(fā)送指令:123456#suoding收到指令機(jī)手機(jī)立即進(jìn)入鎖屏狀態(tài)如圖5.7所示。Androld⑥圖5.7鎖屏功能令實(shí)現(xiàn),測試后查看SD卡數(shù)據(jù)及手機(jī)通訊錄和媒體數(shù)據(jù)已全部清空。既銷毀數(shù)據(jù)功能由于模擬器也無法播放媒體,所以也只能真機(jī)測試,由于本功能屬于后臺運(yùn)行,真機(jī)測試時,當(dāng)收到指令立即以最大音量報警,既發(fā)報警音功能實(shí)現(xiàn)。首先開啟防盜應(yīng)用軟件進(jìn)入初始化界面,在第一個文本框輸入安全密碼,第二個文本框輸入確認(rèn)密碼,兩次密碼輸入必須符合提示要求,否則將不被軟件認(rèn)可。在下面的文本框輸入安全手機(jī)號碼,此號碼建議輸入親友電話,在輸入非法號碼時,軟件將給出●手機(jī)SIM卡被更換:您向被盜手機(jī)發(fā)送了鎖定手機(jī)指令以上兩種情況,手機(jī)防盜將為您鎖定被盜手機(jī),防止別人使用您的手機(jī)或查看隱私信息。●手機(jī)定位:手機(jī)被盜后,可以用任意手機(jī)發(fā)送定位手機(jī)指令到被盜手機(jī),獲取手機(jī)當(dāng)前位置,幫您找回手機(jī)。定位手機(jī)成功后,將會發(fā)送短信告知您手機(jī)的位置。●銷毀數(shù)據(jù):手機(jī)被盜后,用安全手機(jī)號發(fā)送銷毀指令到被盜手機(jī),可徹底銷毀手機(jī)數(shù)據(jù),保護(hù)隱私不被泄露。銷毀的數(shù)據(jù)包括:通訊錄、短信、照片及SD卡的其他數(shù)據(jù)。特別提醒:銷毀數(shù)據(jù)指令必須使用安全手機(jī)號發(fā)送。●鎖定手機(jī):當(dāng)手機(jī)收到鎖定手機(jī)指令后會立即鎖屏,只有輸入正確的安全防盜密碼才可解鎖手機(jī)?!癜l(fā)報警音:發(fā)覺手機(jī)被盜后,可用任意手機(jī)發(fā)送報警指令到被盜手機(jī)。這時被盜手機(jī)將發(fā)出最大音量的報警聲(即使是靜音模式),幫助您快速找到手機(jī)。用戶可在設(shè)置界面對初始化設(shè)置的安全密碼和安全手機(jī)號進(jìn)行修改,并可設(shè)置防盜在這個高度信息化的時代,手機(jī)的丟失總會給人帶來很多煩惱,但最讓人煩心的是手機(jī)中存儲的多年好友通訊錄、記載著歲月的照所設(shè)計的軟件就是專門為解決此問題而設(shè)計本文結(jié)合用戶手機(jī)丟失導(dǎo)致私人信息不安全的問題,總結(jié)手機(jī)丟失給用戶帶來的后果,然后根據(jù)需求設(shè)計軟件。本軟件基于Android系統(tǒng)平臺進(jìn)行設(shè)計,所以文章從軟件的類完美實(shí)現(xiàn)。在設(shè)置功能按鈕的設(shè)置界面采用Android系統(tǒng)級UI專用設(shè)置類PreferenceActivity參與設(shè)計,并以最方便的排版方式實(shí)現(xiàn)設(shè)置層UI。做好顯示后應(yīng)用Intent傳遞各UI間的數(shù)據(jù),并在關(guān)閉軟件后將必要的數(shù)據(jù)存儲在SharedPreferences數(shù)據(jù)庫中。在完成整個UI設(shè)計后文章逐個介紹每個功能的實(shí)現(xiàn)方法及過程。其中運(yùn)用GPS技術(shù)定位手機(jī),并可通過Android系統(tǒng)廣播機(jī)制,控制手機(jī)向指定手機(jī)發(fā)送當(dāng)前手機(jī)具體位置。要想通過短信控制被盜手機(jī),就要知道被盜手機(jī)的手機(jī)號碼,為此,文章從手機(jī)號碼來源入手分析,總結(jié)得出要想知道當(dāng)前手機(jī)號,必須要獲得此手機(jī)SIM卡的IMSI碼來確定唯一的SIM卡,擁有IMSI碼號后便可到移動公司查到當(dāng)前SIM卡的手機(jī)號進(jìn)而才可實(shí)現(xiàn)功能。由問題又引出親的問題,接下來就要解決如何獲取SIM卡IMSI號的問題,這里本章介紹了如何運(yùn)用Android廣播機(jī)制中的開機(jī)廣播和信號廣播以及短信廣播來監(jiān)聽手機(jī)SIM卡狀態(tài)。在軟件檢測到SIM卡被更換時,會立即將當(dāng)前SIM卡信息傳遞到SMS機(jī)制并向指定手機(jī)發(fā)送指令要求信息。接下來本章具體講述了在能遠(yuǎn)程向被盜手機(jī)發(fā)送指令的情況下如何實(shí)現(xiàn)鎖屏、銷毀隱私數(shù)據(jù)以及報警等其他防盜功能。所有功能的實(shí)現(xiàn)都在后臺完成,這樣才能在讓非法分子在毫無察覺的情況下繩之以法。本文具體介紹了后臺服務(wù)的Service,所用到的具體數(shù)據(jù)都來源于Service服務(wù)。GPS的定位、用戶隱私數(shù)據(jù)的備份發(fā)送與銷毀等功能的實(shí)現(xiàn)都是因?yàn)閾碛袕?qiáng)大的后臺經(jīng)過大量實(shí)驗(yàn)調(diào)試,最終本軟件實(shí)現(xiàn)了所有防盜功能。當(dāng)安有此防盜軟件手機(jī)丟失時,后臺工作的軟件會自動檢測到不安全狀態(tài),待安全手機(jī)號收到目標(biāo)手機(jī)當(dāng)前手機(jī)號后便可通過防盜指令控制被盜手機(jī)鎖屏并以最大音量發(fā)報警音,在不法分子還沒來得反應(yīng)的時候,公安人員已經(jīng)按照軟件所提供的GPS定位地址將其制服并拿回屬于用戶的手機(jī)。如果不法分子為了消贓毀壞了手機(jī),那我想在手機(jī)被盜的第一時刻用戶就已經(jīng)把自致謝經(jīng)過幾個月的努力,本人的畢業(yè)設(shè)計“基于Android系統(tǒng)的手機(jī)防盜應(yīng)用”以完美完成。作為一個本科生的畢業(yè)設(shè)計,由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計是難以想首先要感謝的是我的導(dǎo)師劉軍華老師,在我當(dāng)初想要以Android系統(tǒng)應(yīng)用作為我畢設(shè)題目的時候,給了我很大的鼓勵與支持。本來在學(xué)校做畢設(shè)的同學(xué),畢設(shè)題目是學(xué)校的老師指定好的,學(xué)生需在所有題目中選擇一個作為自己的畢設(shè)來做。我學(xué)的專業(yè)是電子信息工程,所學(xué)的知識以硬件為主,因此所有的題目都是以硬件為主的,特別是我導(dǎo)師劉軍華的題目,基本都是以ARM研究為主的。但是我對Andr比較感興趣,就想做個Android的應(yīng)用作為自己的畢設(shè),所以很是為難。但當(dāng)我和劉老師說了我的想法后,他沒有反對,反而非常支司去學(xué)習(xí)并完成畢設(shè)。而后又幫我設(shè)定并確定畢設(shè)要完成的任務(wù),如我愿的以“基于Android系統(tǒng)的手機(jī)防盜應(yīng)用”項(xiàng)目做為了自己的畢業(yè)設(shè)計。也只有老師這樣的抉擇才能實(shí)現(xiàn)我現(xiàn)在的畢業(yè)設(shè)計。在這里對劉老師深表感謝!對于Android系統(tǒng)我屬于白手起家,甚至連Java語言都不是很扎實(shí),所以一上來就像做應(yīng)用是根本不可能的事。我的同學(xué)對Android有一些了解,知道我要做Android系統(tǒng)應(yīng)用的畢設(shè)后主動幫我找資料,介紹Android的個大論壇,以及其編譯環(huán)境等,給初學(xué)者的我指明了學(xué)習(xí)的方向,少走了很多彎路,非常感謝你們!學(xué)視頻的老師,雖然他不認(rèn)識我,但我?guī)缀跽f有的Android系統(tǒng)知識都來源于mars老師的課程。mars老師不僅Android系統(tǒng)列Java4Android的視頻很好的彌補(bǔ)了我的Java基礎(chǔ)不足的缺陷。這里鄭重感謝網(wǎng)絡(luò)教師mars老師,感謝您的教導(dǎo),祝您的教育事業(yè)越辦越好!料,決絕了我很多問題。還有QQ群Android聯(lián)盟里的同志們,有了你們的幫助才使我少走彎路,在我不理解的時候你們耐心講解,雖然我們并不知道彼此的容顏,但我卻深知你們那份樂于助人的心。真心的感謝您們,祝你們工作順利!感謝我的父母,在我在家做畢設(shè)的時候,他們耐心的為我做飯,盡最大努力幫我排除一切影響因素,兒子在這里謝謝您們!祝您們身體健康!一路走來,要感謝的人太多了,是你們的幫助才有我現(xiàn)在的成就,謝謝你們!自動化學(xué)院,2011年8月17日.年2月.6林城.Android2.3應(yīng)用開發(fā)實(shí)戰(zhàn)[M].機(jī)械工業(yè)出版社,2011年6月1日.7李剛.瘋狂Android講義[M].電子工業(yè)出版社,2011年6月22日.年10月1日.9余志龍,王世江.GoogleAndroidSDK開發(fā)范例大全[M].人民郵電出版社,2010年62011年9月10日/2012年3月5日.12Mars.Android視頻教程[CD].mars視頻,2010年11月/2012年3月.13Mars.Java4Android視頻教程[CD].mars視頻,2011年11月/2012年3月.年4月9日.15AndLi.ListViewandCheckBox[J/OL].ITCYC,2011年9月30日/2012年4月20日.16JaCman.listview加在性能優(yōu)化ViewHolder[J/OL].CSDN,2011年12月20日/2012年5月3日.17allin.android.androidListView詳解[J/OL].androiddiordna,2011年12月19日/2012年5月15日.MINDS,200MarkMurphy.BeginningAndroid3[M].21EdBurnett,SusannahDavidsonPfalzer.Hello,Android:IntroducingGoogle'sMobileDevelopmentPlatform[M].PragmaticBookshe附錄一發(fā)覺手機(jī)被盜后,可用任意手機(jī)發(fā)送報警指令到被盜手機(jī)這時被盜手機(jī)將發(fā)出最大音量的報額聲(即使是靜音模式).南助您快速鎖定手機(jī)后,如來小偷嘗試解鎮(zhèn)時連續(xù)2次輸錯座碼,將拍下其照片.并您可以利用該照片報警或索回手機(jī)-手機(jī)SIM卡被更換以上兩種情況,手機(jī)防盜將為您鎖定被盜手機(jī)。防止別人使用您的手機(jī)或該功能需要手機(jī)有前匿操集米發(fā)報警指合haom防或主碼該功能需要手機(jī)有前匿操集米發(fā)報警指合haom防或主碼手機(jī)被盜后,用安全手機(jī)號發(fā)送銷數(shù)指令到被盜手機(jī),可初底銷毀手機(jī)數(shù)據(jù),保護(hù)隱私不被泄露。銷毀的數(shù)據(jù)包括通訊錄、短信、照片及SD卡的其他數(shù)據(jù)。特別提醒:銷燥數(shù)據(jù)指令必?fù)p使用安全手機(jī)號發(fā)送手機(jī)被盜后,可以用任意手機(jī)發(fā)送定位手機(jī)指令到被盜手機(jī),獲取手機(jī)當(dāng)前位置,南您找回手機(jī)定位手機(jī)成功后,將會發(fā)送短信告知您手機(jī)的位置。手機(jī)玻盜后,如果SIM卡被更換,會向您設(shè)置的安全手機(jī)號發(fā)送一條提示您可以通過該短信獲取被盜手機(jī)的新號碼,然后發(fā)送防盜指寧來涵控被查一相關(guān)下載/javase/download選擇DownloadJDK只下載JDK,無需下載jre.toolsforJavaEE,JPAJSF,MytynandotTheessentialtooistoranyJavadeveloper.includingasavaIDE,aCVScientXML我們選擇第一個(即eclipseIDEforjavaEEDevelopers)含具體的SDK版本,后一種大概20多M,前一種70多M。(1)安裝jdk6u19:安裝完成即可,無需配置環(huán)境變量(2)解壓eclipse:eclipse無需安裝,解壓后,直接打開就行(3)解壓androidsdk:這個也無需安裝,解壓后供后面使用眼唐什—(1)打開Eclipse,在菜amltLocation:https://dl-ssLgoAwalblfAwalblfmm"ht點(diǎn)擊Next按鈕,出現(xiàn)如下界面:PT學(xué)MMmilpIpri州ttu選擇Iacceptthetermsofthelicenseagreements點(diǎn)擊Next,進(jìn)入安裝插件界面安裝完成后,出現(xiàn)如下界面點(diǎn)擊Yes按鈕,重啟Eclipse2配置androidsdk(1)點(diǎn)擊菜單window->preferences,進(jìn)入如下界面wwbu如ptmSjyho-(2)升級(2)升級SDK版本,選擇菜單window->AndrKiundiuilshwhrFask*gInstlled/sckngn選擇updateall按鈕,出現(xiàn)如下界面選擇左邊的某一項(xiàng),點(diǎn)擊accept表示安裝,點(diǎn)擊reject表示不安裝,我這里只選了SDK2.1和MDownloadingSDKPlatfor安裝完成如下:DownloadingSamplesforSDKmtcifmtciffVituralDevices在點(diǎn)擊New按鈕n點(diǎn)擊New按鈕后,進(jìn)入如下界面:果附錄三源代碼:123456789publicclassBaojingprotectedvoidonCreate(Bundlesa//添加該Activity到MyApplication對象實(shí)例容器中MyApplication.getInstance().addActivity(th123456789publicclassBootCompleteReceiverextendsBroadcastReceiver{publicvoidonReceive(ContextconContext.MODE_WORLD_context.getSystemService(ContextSystem.out.println("開機(jī)");System.out.println("isprotect------System.out.println("issendID-----System.out.printIn("subscriberId--}SmsManagermanager=SmsMa+"的手機(jī),SIM已被更換,更換的IMSI碼為:"+IMSI);System.out.println("已發(fā)送");}123456789publicclassChakaneprotectedvoidonCreate(BundlesavedI//添加該Activity到MyApplication對象實(shí)例容器中MyApplication.getInstance(.addActivity(th}123456789publicclassDingweiprotectedvoidonCreate(Bundlesa//添加該Activity到MyApplication對象實(shí)例容器中MyApplication.getInstance().addActivity(th}123456789publicclassFirstepublicvoidonCreate(Bundlesaved//添加該Activity到MyApplication對象實(shí)例容器中MyApplication.getInstance().addActivity(thsp=this.getSharedPreferences("j.fangdao_prefertm=(TelephonyManager)this.getSystemServifinalEditTextet_passwordl=(EditText)findViewById(R.id.password1);finalEditTextet_password2=(EditText)findViewById(R.id.password2);finalEditTextet_saf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論