2014-05-14 86 views
5

我做的,我計算出的電池如何訪問電池的剩餘時間在android系統

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

的水平使用這種代碼我才知道什麼是電池的當前水平的項目。 我想知道,查找和顯示在我的項目,在這個電池剩餘水平與正在運行的服務是幾小時和幾分鐘的電池剩餘時間是什麼 ,如果我正在聽歌曲和播放視頻或訪問互聯網比什麼將是電池的剩餘時間。 這將是電池剩餘時間,如果手機處於待機模式,等等

因此,任何建議,請問有什麼可以計算這個?

+0

我想在這裏你可以找到更多信息http://stackoverflow.com/questions/17446460/get-how-much-time-i-have-before-the-battery-goes-to-0-android – Robert

+0

possible [估計時間,直到電池耗盡的Android手機編程](http://stackoverflow.com/questions/4330334/estimating-time-until-battery-is-depleted-for-android-phones-programmatically) –

+0

檢查出開發指南:http://developer.android.com/training/monitoring-device-state/battery-monitoring.html – DroidBender

回答

2

不幸的是,解決方案並不是一個簡單的答案。

還有就是要計算多長時間留在當前電池電量沒有真正的方法,應用程序可以使用在不同的時間不同的功率,這意味着,有可能是在剩餘時間計算偏差。

,我可以看到你生成一個有點可靠的時間,唯一的辦法是儘可能地品嚐電池和保持與被放電的電池量的時間偏移。在足夠的樣本之後,您將能夠更好地估計在x分鐘內放電的電池數量。

編輯:要擴大了一點,你可能會得到更新(A),然後又兩次更新(B,C)。這些更新可能會在某種類型的集合中存儲一段時間,然後您可以使用邏輯來計算從存儲的樣本中生成的時間之間的平均損失。

該解決方案仍然不能提供完全準確的結果。

+0

但這個我可以在一個手機上不是在每個手機上的樣本 –

+0

這是正確的,但你的應用程序可以容納數據在當前運行時間中,並盡最大努力計算當前用戶的平均值。 – JamieB

+0

好吧,我搜索更多的東西,並嘗試工作 –