デバイスの充電中を iOS アプリに検出させるにはどうすればよいですか?
1 に答える
これはどう。
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
、次のとおりです。
- バッテリー関連の通知の投稿を無効にします
- バッテリーの充電レベルとバッテリーの状態を読み取る機能を無効にします
これにより、通知が送信されUIDeviceBatteryLevelDidChangeNotification
、UIDeviceBatteryStateDidChangeNotification
バッテリーレベルが変更されたときに通知が送信されます。UIDeviceBatteryStateDidChangeNotification
充電器が接続されていることを検出するために利用できます。