端末情報/クライアント情報

Q
電源やバッテリーの状態を取得したい

A
[解決方法]
RootクラスのGetPowerStateメソッドを使用することで機器の電源やバッテリーの状態を
取得することが可能です。
(ver3.2.1より追加されました)

GetPowerStateメソッドでは、以下の情報を格納したRecordオブジェクトが返されます。

●戻り値(Recordオブジェクト)の構造
メンバ 説明
ACPower

電源接続状態

BatteryLifeLevel

バッテリレベル

BatteryLifeTime

バッテリ残り時間

取得できる項目は機種に依存します。



[サンプルコード]

サンプルでは1分おきに電源やバッテリー状態を確認し、 残量が少ない場合は
警告メッセージを表示します。

Form Form1 {

    Number num_ACPower;
    Number num_BatteryLifeLevel;
    Number num_BatteryLifeTime;

    Function OnTimer( e ) {
        var state = //.GetPowerState();

        /* 電源接続状態チェック */
        num_ACPower = state.ACPower;
        if( num_ACPower == 0 ){
            Label2.Value = "電源接続なし";
        } else if( num_ACPower == 1 ){
            Label2.Value = "電源接続あり";
        } else if( num_ACPower == -1 ){
            Label2.Value = "不明";
        }

        /* バッテリ残り時間チェック */
        num_BatteryLifeTime = state.BatteryLifeTime;
        if( num_BatteryLifeTime == -1 ){
            Label3.Value = "バッテリ残り時間不明";
        } else {
            Label3.Value =
                "バッテリ残り時間:" + str( num_BatteryLifeTime ) + "秒";
        }

        /* バッテリレベルチェック */
        num_BatteryLifeLevel = state.BatteryLifeLevel;
        GroupBox1.Title = "残バッテリー" + str( num_BatteryLifeLevel ) + "%";

        /*バッテリー残が少ない場合は警告を表示する*/
        
        /* バッテリレベルが30%以下、もしくはバッテリ残量が
        10分以下の場合、充電してくださいメッセージを出す */
        if( num_BatteryLifeLevel < 30 ){
            //.MessageBox(
                 "バッテリレベルが30%を切りました。充電してください。" );
        } else if( 0 < num_BatteryLifeTime && num_BatteryLifeTime < 600 ){
            //.MessageBox(
                 "バッテリ残時間が10分を切りました。充電してください" );
        }

    }

    if ( !$DESIGNTIME ) {
        <省略>
        /*一定間隔ごとに電源とバッテリー残量をチェック*/
        SetTimer( 60 );
    }
}
CRSファイル形式のサンプルを
  「電源・バッテリーチェックサンプル (CliM_005.zip)
よりご利用いただけます。

管理番号:CliM_005
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ