12

デバイスの充電中を iOS アプリに検出させるにはどうすればよいですか?

4

1 に答える 1

25

これはどう。

UIDeviceBatteryState deviceBatteryState = [UIDevice currentDevice].batteryState;
if (deviceBatteryState == UIDeviceBatteryStateCharging || deviceBatteryState == UIDeviceBatteryStateFull) {
    // It is charging
}

アップルのドキュメントから、

UIDeviceBatteryState: デバイスのバッテリー電源状態。

typedef enum {
   UIDeviceBatteryStateUnknown,
   UIDeviceBatteryStateUnplugged,
   UIDeviceBatteryStateCharging,
   UIDeviceBatteryStateFull,
} UIDeviceBatteryState;

UIDeviceBatteryStateUnknown: デバイスのバッテリー状態を判別できません。

UIDeviceBatteryStateUnplugged: デバイスは電源に接続されていません。バッテリーの電力が失われています。

UIDeviceBatteryStateCharging: デバイスが電源に接続されており、バッテリーの充電が100%未満です。

UIDeviceBatteryStateFull: デバイスは電源に接続されており、バッテリーは100%充電されています。


アップデート:

あなたの質問に完全に答えるためだけに。充電器が接続されていることを検出する方法は次のとおりです。という名前のプロパティがありますbatteryMonitoringEnabled

batteryMonitoringEnabled:(YES)バッテリー監視が有効かどうかを示すブール値(NO)

バッテリーの状態の変化をアプリに通知する必要がある場合、またはバッテリーの充電レベルを確認する場合は、バッテリーの監視を有効にします。

このプロパティのデフォルト値はNO、次のとおりです。

  • バッテリー関連の通知の投稿を無効にします
  • バッテリーの充電レベルとバッテリーの状態を読み取る機能を無効にします

これにより、通知が送信されUIDeviceBatteryLevelDidChangeNotificationUIDeviceBatteryStateDidChangeNotificationバッテリーレベルが変更されたときに通知が送信されます。UIDeviceBatteryStateDidChangeNotification充電器が接続されていることを検出するために利用できます。

于 2012-11-01T22:09:29.187 に答える