5

私はGPSアプリを作成していますが、電力が利用可能かどうか(つまり、車両の充電器)に基づいて精度が変化します

デバイスに電力が供給されているかどうかを常にチェックするバックグラウンドで何かを実行する方法はありますか?

電源が接続されているかどうかを確認する方法を知っています。しかし、問題は、ユーザーが家にいて接続されているかどうかです。彼は実行時に外出するためにデバイスのプラグを抜きます。その後、たむろすることにしました。私のアプリは起動時にバッテリーの状態をチェックします。どうすれば何度も確認できますか。彼が私のアプリを使っていたので、私は彼のバッテリーを使い果たしたくありません!

iOS 5以降のみをサポートする予定です(iOS 4および3との下位互換性は必要ありません)

ありがとう

4

1 に答える 1

20

UIDeviceクラスリファレンスをご覧ください。

batteryStateを返すというプロパティがありますUIDeviceBatteryState。そのため、デバイスが充電中であるか、接続されていっぱいになっているかを確認します。

UIDeviceBatteryState currentState = [[UIDevice currentDevice] batteryState];
if (currentState == UIDeviceBatteryStateCharging || currentState == UIDeviceBatteryStateFull) {
    // The battery is either charging, or connected to a charger and is fully charged
}

追加するために編集

状態を継続的に監視したい場合は、batteryMonitoringEnabledプロパティを確認してから、を処理しUIDeviceBatteryStateDidChangeNotificationて必要なものを更新してください。

iOSはイベント駆動型です。whileループ内で何かの状態をチェックすることは、めったに行う必要がないことです。

于 2012-07-05T13:50:01.853 に答える