这个功能很难发展,因为它取决于很多因素。您最好为每个特定平台实施本机电池通知。某些平台可提供有关功耗和剩余电池寿命的完整信息。这将(可能)导致更好的估计并为您节省大量工作:)
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