編輯:Android開發實例
Android 設備可以接在不同類型的 Dock 底座中,其中包括車載的,家用的,以及數字的和模擬的。許多 Dock 基座都能為接在其上面的設備供電,所以,“dock-state”(Dock狀態)也通常是接入設備的充電狀態。
Dock 狀態的變化如何影響您應用程序的服務更新速度取決於您應用程序的設計。假如是一個獲取體育賽況的應用程序,那麼在 “desktop dock” 狀態時,可以提高其數據的更新頻率,而當在 “car docked” 狀態時,可以完全禁用數據的更新。相反,假如該應用程序是用來獲取當前交通路況的,那麼就應當在“car docked” 狀態時選擇最大限度提高數據的更新速度。
系統會廣播 “sticky” 類型的 Dock 狀態通知 Intent,您可以通過該 Intent 來查詢設備當前是否在 Dock 狀態,以及具體的 Dock 類型。
Dock 狀態的詳細信息可以從 Action 為 ACTION_DOCK_EVENT 中的廣播數據中取得,因為廣播類型是 “sticky”的,您不需要自己定義 BroadcastReceiver ,只需要調用 registerReceiver() 方法,並且傳入空的參數null就可以了。
該方法的返回值 intent 就包括了當前 Dock 狀態的詳細信息。
示例代碼:
IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT); Intent dockStatus = context.registerReceiver(null, ifilter);
您可以通過鍵值 EXTRA_DOCK_STATE 來取得當前的 Dock 狀態。
示例代碼:
int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1); boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
如果設備當前在Dock狀態,那麼目前支持的Dock類型如下:
請注意後面的兩種Dock類型只支持Android API Level 11以上,所以較好的方法是只需要區分大的 dock 類型,而不用去具體關注是數字的,還是模擬的。
示例代碼:
boolean isCar = dockState == EXTRA_DOCK_STATE_CAR; boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK || dockState == EXTRA_DOCK_STATE_LE_DESK || dockState == EXTRA_DOCK_STATE_HE_DESK;
每當 Andoid 設備在 Dock 和非 Dock 狀態之間切換的時候(即設備接入底座和從底座拔出),系統就會廣播 Action 為 ACTION_DOCK_EVENT 的廣播。要想在應用程序中捕捉這種狀態的變化,您只需要注冊一個自定義的廣播接收器Receiver就可以了。
示例代碼:
<action android:name="android.intent.action.ACTION_DOCK_EVENT"/>
您可以在Receiver的代碼實現中獲取當前Dock的詳細信息,具體方法參照前面的步驟。
參考文摘:
http://developer.android.com/training/monitoring-device-state/docking-monitoring.html
轉自:http://blog.zhourunsheng.com/2011/12/android-%e7%94%b5%e6%ba%90%e7%ae%a1%e7%90%86%e4%b8%93%e9%a2%98%e4%b9%8b%e8%8e%b7%e5%8f%96%e5%92%8c%e7%9b%91%e6%b5%8bdock%e7%8a%b6%e6%80%81%e5%92%8c%e7%b1%bb%e5%9e%8b/ | 潤物無聲
本文實例講述了Android實現獲取SD卡總容量,可用大小,機身內存總容量及可用大小的方法。分享給大家供大家參考,具體如下: 可能有的同學不知道系統已經提供了獲取
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
一、問題描述 LBS位置服務是android應用中重要的功能,應用越來越廣泛,下面我們逐步學習和實現lbs相關的應用如定位、地圖、導航等,首先我們看如何基於百度地
今天根據騰訊qq,我們做一個練習,來學習如何制作一個漂亮的布局。首先看一下官方圖片 還是一個啟動畫面,之後進入登錄頁面,導航頁面就不介紹了,大家可以參考微信的導