iPhoneのバッテリーデータの取得と言うか、やりたいことはDockに刺さっているかどうかの取得なんだけど、これが意外とよくわからなかった。
基本的にはバッテリーの状態は自動的にPlatformのプロパティに入るらしく判別するには
switch (state){
case Titanium.Platform.BATTERY_STATE_UNKNOWN:
return 'unknown';
case Titanium.Platform.BATTERY_STATE_UNPLUGGED:
return 'unplugged';
case Titanium.Platform.BATTERY_STATE_CHARGING:
return 'charging';
case Titanium.Platform.BATTERY_STATE_FULL:
return 'full';
}
っていう感じでTi.Platform.BATTERY_STATE〜に0か1で入るらしい。
で、本来ならDockケーブルの抜き差しがあったときにイベント感知をして欲しいのだけど、いろいろしらべていると、Ti.PlatformにaddEventlistenerで’battery’としたら取得できるっぽいのだけど、どうやら動いていないみたい。
Titanium.Platform.addEventListener('battery', function(e){
var state = e.state;
alert('state chaged:' + batteryStateToString(state));
});
これが出来れば完璧なんだけどとりあえず、別の方法でバッテリーの情報を取得するタイミングが必要になるっぽい。
あと、実は気が付かなかったのが。
//バッテリーのモニタリングをtrueに設定? Titanium.Platform.batteryMonitoring = true;
これを設定しておかないとバッテリーの状況をモニタリングしてくれないのでバッテリーの情報が取得できないっぽい。これは気が付かなかったw
という初心者な自分向け情報w
ツイート