• 
    

    
    

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

      ?

      Android系統(tǒng)下的手機自啟動實現(xiàn)

      2014-11-12 06:04:30楊文暉
      科技視界 2014年23期
      關(guān)鍵詞:內(nèi)核鬧鐘時鐘

      劉 彬 楊文暉

      (成都理工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610059)

      0 引言

      安卓操作系統(tǒng)已成為智能手機的主流操作系統(tǒng)之一。帶來方便時也帶了了一些問題,有時我們不得不選擇關(guān)機,而關(guān)機就有啟動的問題。本文探索一種基于Android平臺的一種解解決手機關(guān)機后的根據(jù)預(yù)設(shè)時間自動啟動的問題的決方案來,以此來實現(xiàn)生活中手機啟動的自動化問題。同時,這也為鬧鐘功能的實現(xiàn)提供了另一種實現(xiàn)方式。

      1 方案選擇分析

      Android或者iOS等智能系統(tǒng)都是由BP和AP兩部分組成,其中BP負(fù)責(zé)硬件啟動,通訊模塊等部分,而AP是智能系統(tǒng)OS和上面的應(yīng)用所需要的。而其大部分邏輯處理,包括鬧鐘都是由AP控制的,AP本身可以看為一個PC,那么一旦關(guān)機,肯定是無法運行應(yīng)用,從而也就無法進(jìn)行鬧鐘的觸發(fā).主要思考一下幾種方案:

      (1)在BP層掛接特殊模塊能夠和AP相關(guān)驅(qū)動配合一起設(shè)置鬧鐘觸發(fā)點,也就是說,當(dāng)開機時設(shè)置的鬧鐘同時被設(shè)置到AP層,這樣當(dāng)關(guān)機情況下,當(dāng)接近鬧鐘觸發(fā)點時啟動AP來進(jìn)行相應(yīng)的鬧鐘處理。

      (2)做假關(guān)機,實際上是進(jìn)入待機休眠模式,這樣當(dāng)然鬧鐘應(yīng)用可以正常工作。不好的是因為沒有實際關(guān)機,會增加耗電。

      (3)完全在BP層處理鬧鐘行為,AP層設(shè)置好后,BP層檢測到AP層關(guān)機狀態(tài)時直接處理鬧鐘事件和相應(yīng)反應(yīng)。不過這樣的壞處是要在BP層實現(xiàn)非常類似AP層鬧鐘的界面,否則會導(dǎo)致界面不統(tǒng)一。

      通過以上的三種比較,選擇了第一種辦法,考慮到Android自動開機要用到底層rtc時鐘的支持,所以必須從Android的內(nèi)核來尋求解決辦法。

      2 方案設(shè)計及測試

      2.1 Android 手機自動關(guān)機

      利用Android手機中的BroadcastReceiver,這樣一個廣播接收機制來實現(xiàn)。自定義的ACTION_REQUEST_POWER_OFF:設(shè)置auto power off時,通過AlarmManager設(shè)置的一個RTC_WAKEUP時鐘。當(dāng)?shù)皆O(shè)置的關(guān)機時間時,之前設(shè)置到AlarmManager的這個action會被廣播。我們實現(xiàn)的這個BroadcastReceiver接收到這個消息后,就要開始power off流程。當(dāng)用戶設(shè)置自動關(guān)機的時候,我設(shè)置了2個時鐘,一個是RTC時鐘,用于關(guān)機狀態(tài)下開機;還有一個就是這個RTC_WAKEUP時鐘。這個時鐘用于接收信息重置開機時鐘。

      一個處理power off的Service,當(dāng)BroadcastReceiver接收到ACTION_REQUEST_POWER_OFF,我們給用戶一個機會去取消當(dāng)前的自動關(guān)機。這個Service的作用就是啟動一個無背景的頁面,給用戶提示.同時播放之前用戶設(shè)置的提示音或振動。

      一個Activity:顯示一個dialog提示用戶要自動關(guān)機,并用一個計時器倒計時。當(dāng)用戶確認(rèn)關(guān)機,或者計時器到時間的時候,就關(guān)機。否則取消當(dāng)前關(guān)機,并重設(shè)下次自動關(guān)機alarm。

      設(shè)置自動關(guān)機的alarm:

      2.2 自動開機服務(wù)

      圖1 Android內(nèi)核架構(gòu)圖

      在系統(tǒng)power off狀態(tài)下自動開機,設(shè)置一個rtc時鐘,當(dāng)用戶設(shè)置自動開機,由AlarmManagerService將時鐘設(shè)置下去。這要底層支持,Android內(nèi)核(圖1)肩負(fù)著整個Android平臺的設(shè)備驅(qū)動,Android內(nèi)核可供添加或修改的文件很多。這里的實現(xiàn)是定義一個我們自己的rtc_alarm_type。此處我們用到的內(nèi)核是從google source上下載的linux-2.6.23-android,利用Linux環(huán)境對其進(jìn)行內(nèi)核編譯。找到內(nèi)核中的linux/android_alarm.h在頭文件里面定義:

      2.3 測試

      設(shè)定時間分別為19:22,19:30。啟動時間如下(圖2):

      圖2

      3 結(jié)語

      本文基于Android系統(tǒng)對智能手機進(jìn)行自動啟動問題進(jìn)行了設(shè)計,通過測試實現(xiàn)了Android系統(tǒng)手機根據(jù)預(yù)設(shè)定時間自動啟動的問題。這對于基于Android系統(tǒng)的手機增加了用戶的體驗性。隨著智能手機的發(fā)展必將被增加到手機的功能群中。

      [1]趙啟明.ANDROID典型技術(shù)模塊開發(fā)詳解[M].中國鐵道出版社,2012.

      [2]貢知洲.Android發(fā)展的分析與研究[J].金陵科技學(xué)院龍蟠學(xué)院,2013.

      [3]韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點詳解[M].電子工業(yè)出版社,2010.

      [4]王冰.Android系統(tǒng)內(nèi)核剖析[J].中國科技博覽,2013,33.

      猜你喜歡
      內(nèi)核鬧鐘時鐘
      萬物皆可IP的時代,我們當(dāng)夯實的IP內(nèi)核是什么?
      多彩創(chuàng)意鬧鐘
      別樣的“時鐘”
      強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      古代的時鐘
      天然鬧鐘
      小鬧鐘的提醒
      能幫我設(shè)個鬧鐘不等四則
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
      Linux內(nèi)核mmap保護(hù)機制研究
      库尔勒市| 巢湖市| 赣榆县| 哈尔滨市| 基隆市| 萨迦县| 米林县| 平度市| 万宁市| 龙岩市| 中西区| 马山县| 三河市| 龙川县| 温泉县| 资兴市| 商洛市| 沙洋县| 长宁县| 西青区| 个旧市| 扎赉特旗| 兴国县| 长顺县| 读书| 富锦市| 龙川县| 阿拉善左旗| 青龙| 泰来县| 安福县| 定州市| 湖州市| 济源市| 鄄城县| 池州市| 毕节市| 石屏县| 汉源县| 阿拉善右旗| 邛崃市|