Как узнать, когда устройство заряжается?

Как я могу установить приложение iOS, когда устройство заряжается?

Ответ 1

Как насчет этого.

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

В документации apple,

UIDeviceBatteryState: Состояние питания аккумулятора устройства.

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

UIDeviceBatteryStateUnknown: Состояние батареи для устройства не может быть определено.

UIDeviceBatteryStateUnplugged: Устройство не подключено к электросети; батарея теряет мощность.

UIDeviceBatteryStateCharging: Устройство подключено к электросети, а батарея заряжается менее 100%.

UIDeviceBatteryStateFull: Устройство подключено к электросети, и аккумулятор заряжается на 100%.


Update:

Просто, чтобы полностью ответить на ваш вопрос. Вот как определить, когда подключено зарядное устройство. Существует свойство с именем batteryMonitoringEnabled.

batteryMonitoringEnabled: Логическое значение, указывающее, включен ли мониторинг батареи (YES) или нет (NO).

Включить мониторинг батареи, если ваше приложение должно быть уведомлено об изменениях состояния батареи или если вы хотите проверить уровень заряда аккумулятора.

По умолчанию это свойство NO, которое:

  • Отключает отправку уведомлений, связанных с батареей.
  • Отключает возможность считывания уровня заряда аккумулятора и состояния аккумулятора.

Это приведет к появлению уведомлений UIDeviceBatteryLevelDidChangeNotification и UIDeviceBatteryStateDidChangeNotification при изменении уровня заряда батареи. Вы можете использовать UIDeviceBatteryStateDidChangeNotification для обнаружения, когда зарядное устройство подключено.