2012-11-01 61 views

回答

24

這個怎麼樣。

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

apple documentation

UIDeviceBatteryState: 設備的電池功率狀態。

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

UIDeviceBatteryStateUnknown: 該設備的電池狀態不能被確定。

UIDeviceBatteryStateUnplugged: 設備未插入電源;電池正在失電。

UIDeviceBatteryStateCharging: 設備插入電源,電池電量低於100%充電。

UIDeviceBatteryStateFull: 設備插入電源並且電池已充滿電。


更新:

就完全回答你的問題。以下是如何檢測充電器何時插入。有一個名爲batteryMonitoringEnabled的屬性。

batteryMonitoringEnabled:一個布爾值,指示是否啓用電池監視(YES)或不是(NO)

如果需要通知您的應用程序需要更改電池狀態或想要檢查電池電量級別,請啓用電池監控。

此屬性的默認值是NO,其中:

  • 禁用電池相關的通知的發佈
  • 禁止讀取電池電量和電池狀態
的能力

這將發佈通知UIDeviceBatteryLevelDidChangeNotificationUIDeviceBatteryStateDidChangeNotification當電池電量chan水電站。您可以利用UIDeviceBatteryStateDidChangeNotification,以檢測當充電器插上電源。

+3

你可能會想更新條件'如果(deviceBatteryState == UIDeviceBatteryStateCharging || deviceBatteryState == UIDeviceBatteryStateFull)',因爲這兩個國家的平均該設備已插入電源。 –

+0

謝謝。還補充說。 – iDev

+0

@quegal,感謝您的糾正,但這正是我引用的蘋果文檔中的確切措辭(「電池正在放電」)。:) – iDev

相關問題