我想知道是否有办法让电池增加 5% 时经过的时间。例如,我怎么知道 60% 和 65% 之间经过了多少时间?我想我可以用 NSTimer 做到这一点,但我无法做到这一点,有人可以帮助我吗?非常感谢。
问问题
314 次
1 回答
1
如果您是为 Mac 执行此操作,请查看此问题以了解如何在 Mac 中获得电池寿命;
如果您正在为 iOS 执行此操作,请查看此问题以了解如何在 iOS 中获得电池寿命。
只需使用您的 NSTimer 触发函数以每 x 秒获取电池寿命,当它达到 60% 时,使用 捕获时间戳NSDate
,然后当达到 65% 时,捕获另一个时间戳并比较两个时间戳以获得时间差:所以问题:如何获得 2 个 NSDate 对象之间的时间。
祝你好运。
编辑:
根据您的平台,所有获取电池百分比的方法都在第一个或第二个链接中。如果您希望它确定从现在到上/下 5% 之间的时间:
//both percent and date should be properties or instance variables (NSDate and float, respectively)
//You should probably also make the timer one as well, so you can stop it in any method with [tmr invalidate];
date = [NSDate date];
percent = [self getBatteryPercent];
NSTimer* tmr = [NSTimer scheduledTimerWithInterval:1 target:self selector:@selector(someMethod) userInfo:nil repeats:YES];
- (float)getBatteryPercent
{
//You'll have to get this code from one of those methods (first or second link)
}
- (void)someMethod
{
float newPercent = [self getBatteryPercent];
if(percent - newPercent == 5.0 || percent - newPercent == -5.0)
{
//Get the time between timestamps
NSDate* newDate = [NSDate date];
//See third link for how to get the time difference between date and newDate
}
}
剩下的就看你了。
于 2012-11-26T20:39:37.660 回答