2011-10-28 2 views

답변

10

사용 재산 batteryState :

[[UIDevice currentDevice] batteryState] == UIDeviceBatteryStateCharging 

UIDevice Docs에서 : 당신의 두번째 질문에 대해서는

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

. 위의 UIDeviceBatteryState 플래그는 장치 배터리가보고 할 수있는 유일한 "상태"이므로 배터리 팩과 벽 충전기 사이의 차이를 확인할 수 있다고는 생각하지 않습니다. 따라서 배터리 팩과 벽면 충전기는 모두 UIDeviceBatteryStateCharging 또는 UIDeviceBatteryStateFull (또는 배터리 팩의 플러그가 꽂혀 있지만 꺼져있는 경우 UIDeviceBatteryStateUnplugged)으로 표시됩니다.

+0

위대한, 이것이 내가 찾고 있던 것입니다! –

1

배터리가 충전 중인지 여부는 감지 할 수 있지만 기존 API를 사용할 때와 비슷합니다. 말하자면 어디에서 전력이 들어오는 지 감지 할 수있는 방법이 없습니다.

UIDeviceBatteryState batteryState = [UIDevice currentDevice].batteryState; 
if (batteryState == UIDeviceBatteryStateCharging) { 
    // Your code here 
} 
1

는 I에서, 라인을 포함했다

[UIDevice currentDevice] setBatteryMonitoringEnabled : YES];

또는 batteryState는 UIDeviceBatteryStateUnknown 만 반환합니다. 아마도이 질문은 처음에 물었고 대답하기 때문에 필요하게되었습니다. 나는 팁을 여기에서 발견했다 : Determine accurate iPhone battery level.

관련 문제