私のアプリが外部電源ケーブルが接続されて動作しているかどうかを知りたいです。実行時にこの状態を見つけることは可能ですか?iPhone4電源ケーブルが接続されているかどうかを確認するには?
これは本当のUSB電源と外部の「バッテリーパック」を区別することができますか?
ありがとうございました!
私のアプリが外部電源ケーブルが接続されて動作しているかどうかを知りたいです。実行時にこの状態を見つけることは可能ですか?iPhone4電源ケーブルが接続されているかどうかを確認するには?
これは本当のUSB電源と外部の「バッテリーパック」を区別することができますか?
ありがとうございました!
使用プロパティbatteryState
:
[[UIDevice currentDevice] batteryState] == UIDeviceBatteryStateCharging
UIDevice Docsから:あなたの第二の質問については
typedef enum {
UIDeviceBatteryStateUnknown,
UIDeviceBatteryStateUnplugged,
UIDeviceBatteryStateCharging,
UIDeviceBatteryStateFull,
} UIDeviceBatteryState;
。私は上記のUIDeviceBatteryState
フラグがデバイスバッテリが報告できる唯一の "状態"であるため、バッテリパックと壁面充電器の違いを判断することはできません。したがって、バッテリパックと壁面充電器の両方がUIDeviceBatteryStateCharging
またはUIDeviceBatteryStateFull
(またはバッテリパックが差し込まれているがジュースから外れている場合はUIDeviceBatteryStateUnplugged
)と表示されます。
バッテリーが充電中であるかどうかを検出することはできますが、それは既存のAPIと同じくらいです。つまり、どこから電源が入ってきたかを検出する方法はありません。
UIDeviceBatteryState batteryState = [UIDevice currentDevice].batteryState;
if (batteryState == UIDeviceBatteryStateCharging) {
// Your code here
}
私は、行を含める必要があった
[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES]。
またはそれ以外の場合は、batteryStateはUIDeviceBatteryStateUnknownを返します。おそらく、この質問が最初に尋ねられ答えられたので、これは必要になったでしょう。ここでヒントを見つけました:Determine accurate iPhone battery level。
これはまさに私が探していたものです! –