2013-08-02 40 views
0

有沒有一種方法可以以小時/分鐘爲單位準確確定電池剩餘電量?Android - 確定剩餘的電池壽命量

我知道我可以註冊一個Intent接收器接收廣播的ACTION_BATTERY_CHANGED並獲得水平和規模,並利用這些得到像這樣的比例:

int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1); 

float batteryPct = level/(float)scale; 

我的猜測是,這將需要很多不同的變量(電池類型,處理器,運行的應用程序數量,顯示器亮度等),但我只是想確定我沒有忽視任何東西。

有沒有人有任何想法,如果有可能得到這個細節或建議在哪裏/如何開始?

回答

2

就我個人而言,我認爲考慮到電池類型,處理器和運行的應用程序的數量是矯枉過正的。不管品牌如何,所有物理硬件都會有不同的性能(特別是電池)。而且,不同的連接和流程會根據質量消耗更多或更少的電池。

無法確定用戶將啓動哪種應用程序以及它們將運行多長時間(即,您的用戶可能會通過wifi觀看10分鐘的YouTube,或嘗試在90分鐘內觀看變化的信號強度數據連接)。

如果我這樣做,我會每隔幾分鐘測量一次電池壽命的燃燒率,並使用一些多項式數學來估計趨勢。

維基百科是不學數學的最好的地方,但如果想了解趨勢線是如何工作的一些信息,從這裏開始: http://en.wikipedia.org/wiki/Linear_regression#Trend_line

這只是我自己的情況的想法......希望它幫助。

+0

這是一個很好的建議。謝謝! – Brian

相關問題