亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android平臺的手機防盜與定位系統(tǒng)的研究與設計

        2016-10-14 01:34:04王維李亞
        價值工程 2016年5期

        王維 李亞

        摘要:目前智能手機的功能是越來越豐富,而且更多的功能也會被植入到手機之中。手機防盜也開始成為熱門研究領域。文章主要是以Android手機為例,研究并設計了一種非常簡單有效的手機防盜功能,能夠讓機主在丟失手機之后能夠快速定位到該機,以實現(xiàn)簡單的防盜功能。

        Abstract: The function of the intelligent mobile phone is more and more rich, and more features will be implanted into the mobile phone. Phone anti-theft began to become a hot research field. This paper takes Android mobile phone as an example to research and design a kind of very simple and effective mobile phone anti-theft function. It can let owner to quickly locate the phone after losing it to realize a simple anti-theft function.

        關鍵詞:Android;手機防盜;手機定位;GPS;Eclipse

        Key words: Android;phone anti-theft;mobile phone location;GPS;Eclipse

        中圖分類號:TP316 文獻標識碼:A 文章編號:1006-4311(2016)05-0226-04

        0 引言

        隨著科技的不斷進步和發(fā)展,智能手機已經普及開來,人們的生活也越來越離不開智能手機。智能手機里不僅保存了短信、通信錄,甚至還保存了用戶的銀行卡密碼、QQ聊天記錄等隱私數(shù)據(jù)。手機一旦丟失,往往會給用戶造成巨大的損失。針對上述問題和實際的需求,本文主要研究了基于Android平臺的手機防盜問題的基本解決方案。

        1 Android手機關于手機防盜問題的簡析

        1.1 Android系統(tǒng)的簡介 Android 是基于Linux內核的軟件平臺和操作系統(tǒng),采用軟件堆層(software stack)的架構,主要分為上、中、下三個層次。其中,底層是基于Linux的核心基礎層,最上層為各公司用Java程序自主編寫應用軟件,函數(shù)庫Library和虛擬機Virtual Machine則分布在中間層。在用Android開發(fā)應用軟件時,首先要搭建Android開發(fā)環(huán)境,完善主體架構和各個層次及其功能,掌握各部分的配置屬性。Android共包含有Activity(活動)、Service(服務)和Broadcast Receiver(廣播)和ContentProvider(內容提供者)四個組件,但是并非所有Android系統(tǒng)都必須具備這四大組件。用于記錄和注冊所使用的各種組件的AndroidManifest.xml文件,其主要功能是為項目配置權限,因此在Android系統(tǒng)中發(fā)揮著至關重要的作用。當啟動一個Android程序時,為了避免系統(tǒng)報錯,須在AndroidManifest.xml 文件中對各組件逐一申明。

        1.2 手機防盜與定位系統(tǒng)的邏輯流程(圖1)

        1.3 應用程序開發(fā)環(huán)境的搭建 該開發(fā)環(huán)境是Windows操作系統(tǒng)下,由“JDK(Javadevelopment kit)+Eclipse +Android SDK(Softwaredevelopment kit)+ADT(Android development tools)”組成。由于Android開發(fā)主要是使用了JAVA語言,故必須包括JDK,JDK是整個Java編程系統(tǒng)的核心組件,它主導Java的運行環(huán)境、ava工具及Java 基礎類庫。Eclipse作為 Android 程序開發(fā)IDE(integrateddevelopment environment)來使用的;Android SDK 是由Google提供的完全開放源代碼的Android專屬軟件開發(fā)工具包,用來開發(fā)適用于Android平臺的第三方應用軟件。該開發(fā)工具包中有一個專用于程序設計的布局管理器,其布局方式非常靈活,常用布局形式有三種:線性布局、相對布局和絕對布局。另外,還有一個支持Android工程和工具的通用插件——ADT,安裝該插件后,系統(tǒng)的創(chuàng)建、運行和調試都會變得十分簡單。

        2 防盜的核心設計

        首先需要設置一個安全號碼,該號碼與本機號碼是不一樣的,但該號碼是整個防盜體系結構中的關鍵一環(huán),當我們的手機丟失后,別人打開手機時換裝其他的手機卡,就會激活我們設置的安全號碼,手機會在后臺聯(lián)系到安全號碼,并向安全號碼發(fā)送各種信息,安全號碼也可以遠程發(fā)送相關信息來遙控被盜手機,如獲得被盜手機的具體位置,以及刪除手機所有的信息。只用通過安全號碼我們才能知道丟失的手機在哪個位置,以便于快速找到丟失的手機。設置安全號碼比較簡單,只是將號碼保存到SharedPreferences中即可。

        2.1 綁定SIM卡的序列號 接下來要做的事就是綁定機主的SIM卡的序列號。每個手機卡SIM卡的序列號都是唯一的,之所以不綁定手機號碼是因為有些SIM卡里并沒有寫入手機號碼,比如移動卡和聯(lián)通卡。綁定SIM卡的原理很簡單,首先通過getSystemService(TELEPHONY_SERVICE),獲取TelephoneManager對象,然后通過該對象的getSimSerialNumber方法獲取SIM卡的序列號。獲取SIM卡序列號后我們將該序列號保存在SharedPreferences中即可。

        以下代碼為綁定SIM卡的序列號的核心代碼:

        void bindSIMSerialNumber(Context context){

        // 獲得SharedPreferences 用來保存SIM的序列號

        SharedPreferences sp = context.getSharedPreferences("config", MODE_PRIVATE);

        String sim = sp.getString("sim", null);

        if(sim==null){

        //還沒有綁定SIM序列號

        tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

        sim = tm.getSimSerialNumber();

        Editor editor = sp.edit();

        editor.putString("sim", sim);

        }else{

        //已經綁定序列號 不做處理

        }

        //提交到SharedPreferences中

        editor.commit();

        return ;

        }

        2.2 檢查SIM卡是否更換 SIM卡的插入一般都會關閉電源,就會導致手機的重新啟動。最新設計的手機都是以側面卡槽換卡,同樣的也會導致手機重啟。因此我們需要設計一個監(jiān)聽手機重啟事件,當手機重啟時會檢查當前的SIM卡與之前綁定的SIM卡的序列號是否一致。如果發(fā)現(xiàn)序列號不一致,那么程序自動給我們的安全號碼發(fā)送短信、發(fā)送位置信息等功能獲取手機當前的位置、SIM卡等信息。同時我們也可以通過其他手機給我們的手機發(fā)送短信指令,根據(jù)不同的指令安全衛(wèi)士會做一些鎖屏、刪除數(shù)據(jù)、恢復出廠設置等操作以保護我們手機數(shù)據(jù)的安全。

        判斷是否更換SIM卡的核心代碼:

        <!-- 注冊一個廣播接收者 如果手機發(fā)送重啟將 會發(fā)送該廣播-->

        public void onReceive(Context context, Intent intent) {

        sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);

        tm=(TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

        // 讀取之前保存的SiM信息;

        String saveSim = sp.getString("sim", "");

        //讀取當前的sim卡信息

        String realSim = tm.getSimSerialNumber();

        //比較是否一樣

        if(saveSim.equals(realSim)){

        //sim沒有變更,還是原來的SIM卡

        }else{

        // sim 已經變更

        System.out.println("sim 已經變更");

        }

        }

        }

        3 手機定位模塊功能的設計

        目前有三種常見的手機定位技術:GPS定位技術、基站定位技術和Wi-Fi定位技術。

        GPS定位技術:即衛(wèi)星定位技術。它基于設備GPS芯片以及GPS衛(wèi)星來追蹤物體位置,GPS芯片性能及應用環(huán)境對定位精度有較大的影響。而且室內無法接收GPS信號,因而無法實現(xiàn)室內定位跟蹤。GPS定位耗電量較大,但是精度較高。內置GPS接收器的手機即使在信號盲區(qū),也能準確發(fā)送或接收位置信息。

        基站定位技術:基于設備獲取的基站信息來跟蹤物體的位置。該技術對外部運行環(huán)境不挑剔,但是基站信號的覆蓋半徑會影響定位精度。

        Wi-Fi定位技術:定位端只要偵聽附近的Wi-Fi熱點,采集每個熱點信號的強弱參數(shù)并發(fā)送至服務器。服務器基于每個熱點的參數(shù)查詢與之對應的坐標參數(shù),通過運算獲取客戶端的位置信息,并將信息輸出至客戶端。Wi-Fi定位不受外部環(huán)境的干擾,因而定位精度較高。

        3.1 Android的GPS相關類 ①Location Manager:提供訪問定位服務的功能,用于獲取最佳的定位提供者,所有GPS定位相關的服務、對象都將由該對象來產生。例如獲取最新的位置信息,指定Location Provider的更新周期,獲取設備位置的變化信息。②Location:它就是一個代表位置的抽象類,主要提供了經緯度、標準時間、高度、測量速度、方位角等內容。③Location Provider:Android的定位信息由LocationProvider對象來提供,該對象代表一個抽象的定位組件。在開始編程之前,需要首先獲得Location Provider對象。④Location Listener:當設備的位置信息改變時,該類將進行回調。⑤Criteria:通過設置它的屬性,Location Provider可以選擇合適的提供者。

        這五項相互協(xié)作為應用程序提供位置信息服務,它們之間的關系如圖2所示。

        3.2 Android手機定位代碼的實現(xiàn) 通過調用Android的GPS相關類,把得到的當前位置信息保存在SharedPreferences中,這樣就可以隨時取得手機的位置了。

        void getLocation(){

        //得到一個位置管理器

        LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);

        //為位置管理器設置一個標準,該標注是代表精確的

        Criteria criteria = new Criteria();

        criteria.setAccuracy(Criteria.ACCURACY_FINE);

        String proveder = lm.getBestProvider(criteria, true);

        //設置一個位置更新的監(jiān)聽的匿名內部類

        lm.requestLocationUpdates(proveder, 0, 0, new LocationListener(){

        public void onLocationChanged(Location location) {

        //獲取經度

        String longitude = "j:" + location.getLongitude() + "\n";

        //獲取緯度

        String latitude = "w:" + location.getLatitude() + "\n";

        //獲取精確度

        String accuracy = "a" + location.getAccuracy() + "\n";

        //將經度緯度和精確度保存到SharedPreferences并提交

        SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);

        Editor editor = sp.edit();

        editor.putString("lastlocation", longitude + latitude + accuracy);

        editor.commit();

        }

        public void onStatusChanged(String provider, int status, Bundle extras) {};

        public void onProviderEnabled(String provider){};

        public void onProviderDisabled(String provider){};

        );

        }

        4 軟件的實際測試效果

        首先在Android手機安裝了本軟件的測試版,首先打開本軟件,進入到簡單的歡迎界面;(圖3)

        第二步是綁定自己手機號碼的SIM卡,即將手機的串號綁定進去;(圖4)

        第三步,也是最為關鍵的一步,就是要設置一個安全號碼,如果本機被盜,則對方在換卡后重啟手機,那么本應用會自動向安全號碼發(fā)送手機的位置信息;(圖5)

        第四步,設置完成,保持安全號碼到手機。(圖6)

        完成了上述步驟之后,開始將手機的SIM卡拆下來,換上一張新的卡,并開機啟動。啟動后則手機將會觸發(fā)啟動的廣播"android.intent.action.BOOT_COMPLETED",手機應用接受到該廣播后將發(fā)送手機的位置到我們的安全號碼中。

        通過圖7的內容,確實可以看到當我們把手機卡換了之后,手機會向原來設置的安全號碼發(fā)送了當前手機的位置信息,這樣也驗證了本軟件的成功運行了。

        5 總結

        本文提出并設計了一種基于Android智能手機設備平臺下的一種有效的手機防盜解決方案,采用了JDK+Eclipse+Android SDK+ADT搭建的開發(fā)環(huán)境,并使用了智能手機的GPS模塊,但該模塊不是必須的,查詢手機位置也可以通過網(wǎng)絡來實現(xiàn)。但在具體開發(fā)過程中,如果沒有一定的編程基礎以及對Android技術的了解,著手開發(fā)類似本文功能的手機防盜功能模塊還是具有一定的難度的。隨著Android技術的不斷快速發(fā)展,更加強大的手機防盜功能會被更容易的開發(fā)出來。

        參考文獻:

        [1]葉達峰.Eclipse編程技術與實例[M].北京:人民郵電出版社,2006:67-68.

        [2]王悅,岳瑋寧,王衡,董士海.手持移動計算中的多通道交互[J].軟件學報,2005(01).

        [3]李輝.基于Android平臺的手機導航系統(tǒng)的設計與實現(xiàn)[D]. 西安電子科技大學,2014.

        [4]饒潤潤.基于安卓操作系統(tǒng)的應用軟件開發(fā)[D].西安電子科技大學,2014.

        [5]閆晉佩,何暉,安文歡,張小輝,任建寶,齊勇.國內第三方Android應用市場安全性的檢測[J].計算機科學,2015(12).

        [6]熊健.基于Android平臺的企業(yè)移動應用開發(fā)框架的分析與設計[J].軟件,2012,33(11):44-46.

        国产精品久久久在线看| 亚洲无码专区无码| 醉酒后少妇被疯狂内射视频| 亚洲av色无码乱码在线观看| 96精品在线| 中文字幕国内一区二区| 日本免费一区二区在线| 国产av一区二区毛片| 国产在线视频一区二区天美蜜桃 | 亚洲av成人无码久久精品老人| 国产精品igao视频网| 女同久久精品国产99国产精品| 亚洲视频99| 青青草视频在线播放81| 日本一区二区三区四区在线视频| 久久中文骚妇内射| 国产真实乱对白精彩久久老熟妇女| 中文无码成人免费视频在线观看| 国产精品白浆无码流出| 在线视频一区二区亚洲| 久久麻传媒亚洲av国产| 久久99亚洲精品久久久久 | 亚洲天堂在线播放| 国产va在线播放| 亚洲精品国产av成拍色拍| 蜜桃18禁成人午夜免费网站| 久人人爽人人爽人人片av| 乱子伦视频在线看| 久久99久久99精品观看| 日本一区二区国产精品| 领导边摸边吃奶边做爽在线观看| 又长又大又粗又硬3p免费视频| 日本污视频| 国产不卡一区在线视频| 成人大片免费观看视频| 女人让男人桶爽30分钟| 免费人成年小说在线观看| 久久高潮少妇视频免费| 日韩av一区二区网址| 精品人妻少妇一区二区三区不卡 | 国产喷水1区2区3区咪咪爱av|