我可以得到我有多少時間之前,電池達到0%?使用CountDownTimer
的東西,並使電池消耗多少毫安?有人可以幫助我做到這一點?得到多少時間,我有電池之前,0%Android
回答
簡短的回答:第
龍答:是的,可以。但不說容易..因爲你不知道設備消耗多少能量,你應該首先嚐試找出那個數據,然後使用該數據計算剩餘時間...
正如你可能已經猜到的那樣已經,它可能不是那麼準確,但你越是sample
,數據就越準確。 所以在這裏得出結論是你必須做的:
首先當用戶打開應用程序,因爲你沒有足夠的能源消耗數據,你應該只顯示像Calculating...
。在這裏你應該決定抽樣時間。這就像數學中的derivation
..
假設您的採樣時間爲10秒。 (你的實際應該更大,我猜。)
你應該有一個變量名爲level1
。保存當前的級別。等待數量爲sample time
,現在爲10秒。現在將當前值保存到level2
..將level1 - level2
產品保存到另一個變量,如consumed
。
現在,這裏是神奇的。您知道在10秒鐘內消耗了多少電量(這是consumed
變量)。從現在開始,您可以使用該數據計算剩餘時間。但請記住它仍然是10秒。如果這10秒用戶正在玩一場沉重的比賽,或者甚至該設備處於待命狀態呢?這就是它不準確的原因。但直到現在..
你可以做的是將consumed
變量添加到一個名爲sample_data
的數組中。讓該過程繼續並每10秒採樣一次並將其添加到數組中。您獲得的數據越多,您的計算結果就越準確。
然後你就可以很容易地計算出使用樣本的平均值數組..易peasy在剩餘的時間:P
您無法準確猜測電池放電剩餘多少時間,您只需進行一些估算即可。
您可以通過註冊一個接收器的行動得到的電池壽命與廣播接收器的幫助下Intent.ACTION_BATTERY_CHANGED
battery_level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
編輯:
你應該做的,是定期獲得battery_level
和檢查多少每分鐘/每小時消耗電池,並進行一些計算。
所以,如果您的電池是80%,每小時的下降4%,你有20個小時來評價,電池壽命
海報想要計算的剩餘時間,而不是百分比。 –
您無法準確猜測電池放電剩餘多少時間,您只需進行一些估算,但需要大量代碼並以root身份監控所有系統進程。 –
我知道,你應該在答案中提到。 –
- 1. SIGKILL之前多少時間
- 2. 時間表 - 之前有多少蝨子?
- 3. 獲得DeadlineExceededError後,我有多少時間?
- 4. 確定您當前在iOS中充電的電池壽命/電量有多少
- 5. 減少(Android)電池使用時間的是什麼?
- 6. android 2點之間有多少像素
- 7. android電池處於放電模式下多長時間
- 8. 計算電池剩餘時間直到電池放電?
- 9. Firemonkey的Android得電池級
- 10. Android線程和電池使用時間
- 11. Android設備上的Intent.BATTERY_ACTION_CHANGED時電池的溫度和電壓是多少?
- 12. 沒有得到電池低通知
- 13. 得到頭的電池
- 14. Android開發:如何根據當前電池電量預測預期的電池使用時間?
- 15. 當電池電量少於10%時,我如何禁用wifi?
- 16. 如何減少android的電池使用
- 17. Android電池小部件更新有時
- 18. 得到0之間的輪數爲1
- 19. 電池時間計算
- 20. Java的0到24之間的時間
- 21. Android獲取進程使用多少電池?
- 22. Android電池電量
- 23. 獲取電池充電時間
- 24. 前導0沒有得到從文件
- 25. 如何在Android的API級別23獲得實時目前電池級以上
- 26. 毫秒到達0之前的最高可能時間值,xx
- 27. 在Android手機中更新電池信息的時間間隔
- 28. 從池中獲取連接之前已超時的時間段
- 29. Android:有沒有辦法獲得設備的電池容量?
- 30. 有沒有什麼辦法可以從池中得到多少連接數
Ahaha是啊這很「容易」!好吧,我明白你寫了什麼。但也許對我來說現在有點複雜:)謝謝 –
我假設你會使用battery_level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1)來獲得你的level1,level2等等。由於這個答案不是很安卓具體來說,我會補充一點:如果你在UI線程上運行這樣的應用程序(就像你通常會這樣做),它將無法工作。它必須是使用[IntentService類](https://developer.android.com/training/run-background-service/create-service.html)的後臺服務。 –
@ user2508402是的,也許這對我來說很容易說話,但實施它會很難..但至少試着去做,如果您有任何問題,我在這裏回答:) –