1

我想知道是否有办法让电池增加 5% 时经过的时间。例如,我怎么知道 60% 和 65% 之间经过了多少时间?我想我可以用 NSTimer 做到这一点,但我无法做到这一点,有人可以帮助我吗?非常感谢。

4

1 回答 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 回答