這個功能很難發展,因爲它取決於很多因素。您最好爲每個特定平臺實施本機電池通知。某些平臺可提供有關功耗和剩餘電池壽命的完整信息。這將(可能)導致更好的估計併爲您節省大量工作:)
iPhone的示例;
UIDevice *device = [UIDevice currentDevice];
device.batteryMonitoringEnabled = YES;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@」UIDeviceBatteryLevelDidChangeNotification」 object:device];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@」UIDeviceBatteryStateDidChangeNotification」 object:device];
每5%的電池降低觸發UIDeviceBatteryLevelDidChangeNotification。如果您知道設備使用5%的電池電量需要多長時間,您可以估算剩餘電池充電需要多長時間。根據我的經驗,這種方法的結果非常可靠。
在這種情況下:當您的應用程序檢測到電池快速放電時,您檢查啓用了哪些耗電功能,並建議用戶禁用啓用的功能(WiFi,高亮度等)。
此外,不斷檢查許多系統變量的應用程序確實消耗了相當大的功率。這使您的應用程序在節能方面「無利可圖」。
不是圖書館,但對於iPhone來說,有大量的應用程序會告訴你多少通話時間等你離開了,也許你可以聯繫這些應用程序的開發人員。 – Robin 2011-02-24 20:15:25
我喜歡那樣,希望他們能幫助我。甚至可能聯合開發一些跨平臺的平臺。 – 2011-02-24 20:24:46
您可以從設置>關於>電池>電池使用中找到一些統計數據。顯示顯示,系統,電臺...不知道是否有直接訪問統計數據的方法。 – stealthcopter 2011-02-24 21:13:22