• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Android系統(tǒng)定時開關飛行模式代碼的實現

      2012-04-29 00:44:03張亮
      電腦知識與技術 2012年32期
      關鍵詞:編程

      張亮

      摘要:基于Android操作系統(tǒng)的智能手機目前在市場上的占有率排名第一,然而,Android系統(tǒng)官方并沒有提供定時自動開關機的功能,并且,很多品牌的Android手機并不具備關機鬧鐘功能,因此,很多人使用打開飛行模式來取代關機操作。該文介紹了一種編程方法,可以根據設定的時間自動打開或關閉飛行模式,在一定程度上可以解決對自動開關機功能的需求。

      關鍵詞:Android;飛行模式;編程

      中圖分類號:TN929 文獻標識碼:A 文章編號:1009-3044(2012)32-7743-02

      Android操作系統(tǒng)是Google公司于2007年發(fā)布的一種智能手機操作平臺,它是一個由操作系統(tǒng)、中間件、用戶友好界面和應用軟件組成的,全面整合的移動軟件平臺。自推出以來,Android受到了業(yè)界的廣泛關注,基于Android的智能手機的發(fā)展也極其迅猛,目前在智能手機的市場占有率已經穩(wěn)居第一。然而遺憾的是,Android系統(tǒng)并沒有提供定時自動開關機功能,因此,習慣夜晚關機的用戶必須每日晚上手動進行關機操作,次日早晨再手動開機,比較繁瑣。另外,很多廠商開發(fā)的基于Android系統(tǒng)的手機并不支持關機鬧鐘功能,一旦關機后,設定的鬧鐘就不再起作用,給用戶帶來很多不便。因此,越來越多的用戶目前傾向使用啟用飛行模式來代替關機操作,因為在飛行模式下,鬧鐘是可用的。但系統(tǒng)同樣沒有提供定時自動開關飛行模式的設置選項,該文的目的就是介紹如何自主編程開發(fā)這一功能。

      1飛行模式簡介

      手機的飛行模式又叫航空模式、航班模式。飛行模式打開后,將關閉手機的通信功能,即不能接打電話發(fā)短信,與基站沒有信號聯(lián)系,也不試圖聯(lián)系基站。同時手機的移動數據網絡和WIFI模塊也會被關閉。因為手機信號會干擾飛機上的電子設備,所以飛機上不允許打開手機,而在飛行模式下關閉了手機信號的有關功能,手機可以開著繼續(xù)使用其它功能,如查看電話本、欣賞手機上的文章、電影等。所以叫這種模式被稱為飛行模式。因為手機的電量很大部分都消耗在無線信號通信上,飛行模式下關閉了所有無線信號通信,因此非常省電。

      2代碼實現

      本系統(tǒng)手機客戶端開發(fā)環(huán)境為Android2.3,采用JDK1.6版和Eclipse3.7來編程實現。

      代碼主要由兩個類組成:AirplaneModeSwitchActivity類和AlarmReceiver類。其中AirplaneModeSwitchActivity類是Activity類的子類,用來實現程序主界面,主要用來設置定時開關的時間和啟動關閉程序等功能。AlarmReceiver類是BroadcastReceiver類的子類,主要用來響應AlarmManager發(fā)出的廣播intent,并執(zhí)行打開或關閉飛行模式的代碼。

      由于打開和關閉飛行模式的代碼流程幾乎一致,下面以打開飛行模式為例介紹一下具體的編程步驟:

      1)在主界面上設置TimePicker控件來設置打開飛行模式的時間。TimePicker繼承了FrameLayout類,可以向用戶顯示一天中的時間(可以為24小時,也可以為AM/PM制),并允許用戶進行選擇。

      2)通過GregorianCalendar類的默認構造方法取得當前系統(tǒng)的時間,并利用當前時間的年月日加上TimePicker控件中設置的小時和分鐘構造出打開飛行模式的時間。需要特別注意的是,此時需要比較此時間和當前系統(tǒng)時間的先后,如何當前系統(tǒng)時間已經晚于此時間,說明用戶設置的是第二天這個時候自動打開飛行模式,因此需要將此時間的日期加1。

      3)設置Intent和PendingIntent對象,Intent一般是用作Activity、Sercvice、BroadcastReceiver之間傳遞數據,PendingIntent可以看作是對Intent的包裝,通常通過getActivity,getBroadcast,getService來得到pendingintent的實例,當前activity并不能馬上啟動它所包含的intent,而是在外部執(zhí)行pendingintent時,來調用封裝的intent的。我們這里設置的Intnent指向AlarmReceiver類,用來當AlarmManager設定時間到達的時候發(fā)出廣播。

      4)設置AlarmManager對象。AlarmManager的作用是:在特定的時刻為我們廣播一個指定的Intent。簡單的說就是我們設定一個時間,然后在該時間到來時候,AlarmManager為我們廣播一個我們設定的Intent。我們通過該對象的setRepeating方法來設置一個重復的定時器,重復時間為24小時,也就是每天相同的時間打開飛行模式。需要注意的是,我們開始時嘗試使用Timer定時器類來實現相同的功能,但經過實踐發(fā)現,Timer類定時器在手機進入待機狀態(tài)時就不再起作用,因此不適合用在這樣的場合使用。

      5)當定時器發(fā)出廣播后,由AlarmReceiver類負責處理。要實現這一點,必須在項目的AndroidManifest.xml文件中加入代碼進行說明。AlarmReceiver類是BroadcastReceiver類的子類,該類對父類的onReceive方法進行了覆蓋,自定義了當接收到廣播時進行的處理代碼。在這里通過Settings.System.putString(cr,Settings.System.AIRPLANE_MODE_ON,"0")方法就可以將飛行模式打開,之后通過廣播Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED)通知系統(tǒng)飛行模式的狀態(tài)已經發(fā)生了改變。

      3結束語

      Android系統(tǒng)作為目前最為流行的智能手機操作系統(tǒng),在各方面的性能都比較優(yōu)秀,然而,缺乏對自動開關機功能和關機鬧鐘功能的支持是一大遺憾。該文分析飛行模式的原理,探討了用飛行模式取代關機的可能性,并給出了實現定時自動開關飛行模式的代碼實現,希望對Android系統(tǒng)的研究產生一定的參考作用。

      參考文獻:

      [1]郭蕊.基于Android平臺的GPS定位系統(tǒng)的設計與實現[J].北京工業(yè)職業(yè)技術學院學報,2012,11(2).

      [2]倪紅軍.基于Android平臺的移動終端GPS研究[J].計算機技術與發(fā)展,2012(5).

      [3]百度百科.GPS工作原理[EB/OL].http://baike.baidu.com/view/7773.htm.

      猜你喜歡
      編程
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      丰都县| 巴彦淖尔市| 射洪县| 西城区| 普宁市| 菏泽市| 花莲市| 墨竹工卡县| 涿鹿县| 马尔康县| 绥江县| 盐池县| 通道| 错那县| 陇川县| 锦屏县| 丰都县| 黄山市| 大连市| 台前县| 油尖旺区| 石渠县| 治县。| 甘孜县| 墨江| 长宁区| 漳浦县| 万盛区| 东安县| 韶关市| 仙桃市| 常宁市| 高要市| 荆州市| 泰和县| 蓝山县| 建德市| 海兴县| 武夷山市| 南安市| 常山县|