1

バッテリーが5%増えた時の経過時間を取得する方法があれば教えていただきたいです。たとえば、 60% から 65% までの経過時間をどのように知ることができますか? 私は NSTimer でこれを行うことができると思いますが、私はこれを行うことができません.誰かが私を助けることができますか? どうもありがとう。

4

1 に答える 1

1

Mac でこれを行っている場合は、Mac でバッテリーを長持ちさせる方法について、この質問を確認してください。

iOS でこれを行っている場合は、iOS でバッテリー寿命を取得する方法について、この質問を確認してください。

単に NSTimer を使用して x 秒ごとにバッテリー寿命を取得する関数を起動し、60% になったら でタイムスタンプをキャプチャし、NSDate65% になったら別のタイムスタンプをキャプチャして 2 つのタイムスタンプを比較して時差を取得します。 : SO 質問: 2 つの NSDate オブジェクト間の時間を取得する方法

幸運を。

編集:

バッテリーのパーセンテージを取得するすべての方法は、プラットフォームに基づいて最初または 2 番目のリンクにあります。現在と 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 に答える