2013-10-15 35 views
0

我有一個擴展Thread的類,它在我的Application類中實例化。它的目的是監視有關操作系統的各種信息,然後構建一個監視值的JSON對象,並每隔20秒左右將它們發送到服務器......我應該收集的數據中的一部分是電池電量信息。我只看到examples如何從一項活動或服務中做到這一點。我能從活動和服務之外獲得這些信息嗎?如何在活動和服務之外獲取電池狀態信息?

謝謝

回答

0

這聽起來像一個巨大的電池消耗。

Battery Manager可讓您查詢充電狀態,但您仍需要上下文。既然你在Application類中實例化了這個,那對你來說很有用。

編輯:剛纔注意到你已經閱讀了指南。看看this section,並記住,應用程序本身就是一個有效的上下文:

final IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); 
    Intent batteryStatus = this.registerReceiver(null, ifilter); 
    int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 
+0

電池消耗不是因爲這些設備將在信息亭,並應在任何時候都可以插入一個問題......我們正在監視他們被拔掉電源和/或停電。在你的例子中,我如何每20秒從應用程序到線程獲取關卡? – Ryan

+0

在構建線程時將線程傳遞給電池狀態意圖,並在您請求的任何時間間隔內查詢它。 – Turnsole

+0

明白了......想通了。謝謝你的幫助。 – Ryan