Unitech端末制御モジュールの機能一覧

 

 

Biz/Browser HTと外部サービスを連携する機能「ExternalService」クラスを用いて使用することができるメソッドの一覧です。
サービスの使い方については、Biz/Browser HTのExternalServiceクラスのリファレンスも参照してください。

 

本モジュールとリファレンスについて

メーカ

対応機種

サービスID値

バージョン

Biz/Browserの対応バージョン

Unitech

EA530

HT730 Plus

com.accenture.biz.util.poweruptool.unitech/.MainService

v1.0.0

v1.4.8以上

※掲載されている会社名や製品名は、一般に各社の商標または登録商標です。

 

使用例

/* 本端末制御モジュール専用サービスID(本サービスにおいて固定値) */
String SERVICE_ID = "com.accenture.biz.util.poweruptool.unitech/.MainService";
/* メソッド名称 */
String METHOD_NAME = "playBuzzer";

ExternalService extsv{
	Function OnBoundStateChanged(e){
		if(e.state == "Bound"){
			//.MessageBox("サービスと接続しました");
		}
	}
}
Button btn1{
	Function OnTouch(e){
		^.extsv.bind(^.SERVICE_ID);
	}
}
Button btn2{
	Function OnTouch(e){
		^.extsv.invoke(^.METHOD_NAME, 7, 2000);
	}
}

【注意事項その1】

EA530について、アプリ「DuraSpeed(※)」が有効になっている場合、以下の動作不具合を起こすことが判明しています。

※DuraSpeedとは、バックグラウンドアプリを制限することで、フォアグラウンドアプリを高速化するアプリケーションです。

 

・下記条件時に端末制御モジュールのサービスプロセスがDuraSpeedによって強制終了される。

 端末制御モジュールがBindされていない状態で端末をスリープ状態にし、5分以上経過した場合。

 

・下記条件時にBiz/Browser HTから端末制御モジュールへのBindが失敗する。

 - 手動でアプリ情報の「強制停止」によって端末制御モジュールのプロセスを強制終了した場合

 - 端末制御モジュールのプロセスが強制終了した場合(DuraSpeedにより強制終了された場合も含む)

 - 端末制御モジュールを上書きインストールした場合

 

端末制御モジュールを使用する際は、以下の手順でDuraSpeedをOFFに設定してください。

(1)OS設定>DuraSpeedを開く

(2)OFFに切り替える(以降、ONに切り替えない限りは恒常的に維持されます)

【注意事項その2】

一部のAPIは端末にあらかじめインストールされている以下のアプリと依存関係にあります。

DMService
AppCtrlService


本モジュールを正常に動作させる為、これらのアプリは常に最新を維持してください。

なお、アプリを更新する場合は同様にインストールされている SoftwareUpdateアプリ を利用してください。

目次

 

メソッド名 概要
startScanBarcode バーコードの読み取り処理を行い、読み込んだバーコードのデータおよび種別を返します。
stopScanBarcode 各読み取りのスキャンを終了します。
startScanBarcodeContinuous 連続スキャンを開始します。
setCollectionMode ハードウェアのトリガーによるスキャンの収集方法の設定を行います。
startScanBarcodeCollection 一括読みで複数のバーコードを読み取るスキャンを開始します。
getBarcodeCollection 一括読みで読み取ったバーコードを取得します。
setBarcodeEnabled 指定したバーコードを読み取り対象にするかどうかを指定します。
setCharsetEncoding スキャン結果データの文字コードのエンコード方法を設定します。
setUserDefineKey 端末のハードウェアキーに、別のキーコードを設定します。
getUserDefineKey 端末のハードウェアキーに割り当てられているキーコードを取得します。
setNotificationBuzzer 端末の各種通知音の有効・無効を設定します。
setNotificationVibrator 端末の各種通知バイブレータの有効・無効を設定します。
systemReboot 端末を再起動します。
ReadBarcodeイベント 各読み取りのスキャンでバーコードを読み取ったときに発生します。
ReadBarcodeCollectionイベント 一括読みが完了した場合に発生します。

 

startScanBarcodeメソッド

説明

バーコードの読み取り処理を行い、読み込んだバーコードのデータおよび種別を返します。

 

バーコードの読み取りに成功するかタイムアウト時間が経過するまでスキャンを行います。

スキャンが終了し、このメソッドが結果を返すまで処理は戻りません。

 

呼出形式

var res = extsv.invoke("startScanBarcode", timeoutMs);

 

戻り値

以下の3つの要素を持つ連想配列のArrayオブジェクト

 

integer		type	バーコードの種類
String		data	バーコードのデータの文字列表現
String		rawdata	バーコードのデータの生データ(バイト列)をBase64エンコードした文字列(※)

※Biz/BrowserのBase64Decoderクラスを用いてBase64デコードすることでバイナリデータを復元することができます。
 読み込むバーコードに日本語の文字を含む場合や、バイナリデータを含む場合に使用できます。

 

バーコードの種類はそれぞれ下記に対応しています。

値バーコードの種類
1EAN-13(JAN-13)
2EAN-8(JAN-8)
3UPC-E
4UPC-A
5AZTEC
6郵便カスタマーバーコード
9ITF(Interleaved 2 of 5)
10ISBT
11CODE-128
12CODE-93
13CODE-39
14CODABAR(NW-7)
15CODE-32
16MSI/Plessey
17QR(Micro QRを含む)
18GS1 DataBar(Limited/Expandedを含む)
21GS1 Composite CC-A/B/C
22HANXIN
23GS1-128
24MaxiCode
25PDF417
26Data Matrix
27MicroPDF

 

引数

integer timeoutMs

スキャンのタイムアウト時間[msec]。範囲は1~9900msです。

0以下の値を指定すると既定の時間(9000ms)だけ待機します。

※ 9900ms を超える場合、既定の時間(9000ms)に補正されます。

 

使用例

var res = extsv.invoke("startScanBarcode", 3000);
//.MessageBox("データ:" + res[0]["data"] + "/種類:" + res[0]["type"]);
		

 

stopScanBarcodeメソッド

説明

startScanBarcodeContinuousメソッドによる連続読み、startScanBarcodeCollectionメソッドによる一括読みのスキャンを停止します。

 

呼出形式

extsv.invoke("stopScanBarcode");

 

戻り値

なし

 

引数

なし

 

使用例

extsv.invoke("stopScanBarcode");

 

startScanBarcodeContinuousメソッド

説明

連続スキャンを開始します。停止する場合は、stopScanBarcodeメソッドを呼び出します。

 

バーコードを読み取ると、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。

読み取ったバーコードのデータはEventオブジェクトの子オブジェクトから取得することができます。

 

バーコード種別についてはstartScanBarcodeメソッドを参照してください。

 

呼出形式

extsv.invoke("startScanBarcodeContinuous", sameInterval);

 

戻り値

なし

 

引数

integer sameInterval

同一バーコードの二度読み防止時間を、100ミリ秒単位で指定します。
範囲は0~99(9900ms)です。

※ 99 を超える場合、99(9900ms)に補正されます。


1以上を設定すると、同一のバーコードを設定した時間が経過するまで読み取りません。
0以下を設定すると、同一バーコードは異なるバーコードを読み取るまで読み取りません。

 

使用例

ExternalService extsv{
	Function OnReadBarcode(e){
		^.Label1.value = e.type + " : " + e.data ;
	}
}
Button Button51 {
    X = 199;
    Y = 333;
    Width = 80;
    Height = 54;
    Title = "スキャン開始";

    Function OnTouch( e ) {
        ^.extsv.invoke("startScanBarcodeContinuous", 3);
    }
}
		

 

setCollectionModeメソッド

説明

ハードウェアのトリガーによるスキャンの収集方法の設定を行います。初期値は単発読み(0)です。

引数に誤りがある場合や実行に失敗したとき、例外が発生します。

 

・単発読み

   バーコードを読み取る度に、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。

   読み取ったバーコードのデータはReadBarcodeイベントから取得することができます。

   バーコードを1つ読み取ると、読み取りが停止します。


・連続読み

   バーコードを読み取る度に、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。

   読み取ったバーコードのデータはReadBarcodeイベントから取得することができます。


・一括読み

   引数:codeCountで指定された数だけバーコードが読み取られると、ExternalServiceオブジェクトからReadBarcodeCollectionイベントが発生します。

   ReadBarcodeCollectionイベントハンドラ内でgetBarcodeCollectionメソッドを呼出し、戻り値としてバーコードのデータを取得することができます。

 

呼出形式

extsv.invoke("setCollectionMode", method, codeCount);

 

戻り値

なし

 

引数

integer method

読み取りモードを指定します。

読み取りモードに関する詳細な情報はハードウェアのリファレンスマニュアルをご参照ください。

 

値読み取りモード
0単発読み
1連続読み
3一括読み

 

 

integer codeCount

バーコードを収集する個数を指定します。1~10の間で設定します。

 

使用例

extsv.invoke("setCollectionMode", 3, 5);

 

startScanBarcodeCollectionメソッド

説明

一括読みで複数のバーコードを読み取るスキャンを開始します。

読み取り中、一度読み取ったバーコードと同じバーコードは読み取りません。


引数に誤りがある場合や実行に失敗したとき、例外が発生します。


・一括読み

   引数:codeCountで指定された数だけバーコードが読み取られると、ExternalServiceオブジェクトからReadBarcodeCollectionイベントが発生します。

   ReadBarcodeCollectionイベントハンドラ内でgetBarcodeCollectionメソッドを呼出し、戻り値としてバーコードのデータを取得することができます。


当メソッドによるスキャンを停止する場合は、stopScanBarcodeメソッドを呼び出します。

呼出形式

extsv.invoke("startScanBarcodeCollection", method, codeCount [, timeoutMs]);

 

戻り値

なし

 

引数

integer method

読み取りモードを指定します。

 

値読み取りモード
3一括読み

 

 

integer codeCount

バーコードを収集する個数を指定します。1〜10の範囲で設定します。

 

 

integer timeoutMs

スキャンのタイムアウト時間[msec]。範囲は1~9900msです。

0以下の値を指定すると既定の時間(9000ms)だけ待機します。

※ 9900ms を超える場合、既定の時間(9000ms)に補正されます。

 

使用例

extsv.invoke("startScanBarcodeCollection", 3, 5, 5000);

 

getBarcodeCollectionメソッド

説明

一括読みで読み取ったバーコードを取得します。

 

呼出形式

var res = extsv.invoke("getBarcodeCollection");

 

戻り値

以下の要素を持つ連想配列を格納したArrayオブジェクト

バーコード種別についてはstartScanBarcodeメソッドを参照してください。

 

integer		type	バーコードの種類
String		data	バーコードのデータの文字列表現
String		rawdata	バーコードのデータの生データ(バイト列)をBase64エンコードした文字列(※)

※Biz/BrowserのBase64Decoderクラスを用いてBase64デコードすることでバイナリデータを復元することができます。
 読み込むバーコードに日本語の文字を含む場合や、バイナリデータを含む場合に使用できます。

 

引数

なし

 

使用例

var res = extsv.invoke("getBarcodeCollection");
//.MessageBox("1個目のバーコードのデータ:" + res[0]["data"] );
		

 

setBarcodeEnabledメソッド

説明

指定したバーコードを読み取り対象にするかどうかを指定します。

 

呼出形式

extsv.invoke("setBarcodeEnabled", type, enabled);

 

戻り値

なし

 

引数

integer type

設定を行うバーコードの種類を指定します。

値バーコードの種類
1EAN-13(JAN-13)
2EAN-8(JAN-8)
3UPC-E
4UPC-A
5AZTEC
6郵便カスタマーバーコード
9ITF(Interleaved 2 of 5)
10ISBT
11CODE-128
12CODE-93
13CODE-39 / CODE-32
14CODABAR(NW-7)
16MSI/Plessey
17QR(Micro QRを含む)
18GS1 DataBar(Limited/Expandedを含む)
21GS1 Composite CC-A/B/C(※1)
22HANXIN
23GS1-128
24MaxiCode
25PDF417
26Data Matrix
27MicroPDF

 

※1 GS1 Composite CC-A/B/C は 1次元シンボル も同様に有効にしてください。

 

 

boolean enabled

指定するバーコードの読取を有効にする場合はtrueを、無効にする場合はfalseを指定します。

 

使用例

extsv.invoke("setBarcodeEnabled", 11, true);

 

setCharsetEncodingメソッド

説明

読み取ったバーコードのデータを、どの文字コードでエンコードするかを指定します。

各種読み取りで取得したバーコードデータの文字列表現について、読み取ったデータを規定の文字エンコード設定でエンコードします。

データと設定のエンコードが異なるとき、文字化けすることがあります。


引数に誤りがある場合や実行に失敗したとき、例外が発生します。

 

呼出形式

extsv.invoke("setCharsetEncoding", charset);

 

戻り値

なし

 

引数

String charset

エンコード設定。以下から値を指定します。大文字小文字は区別しません。
また、記号の一部("_"(アンダーバー),"-"(ハイフン))の表記揺れにも対応しています。

値文字コード
UTF-8UTF-8
GBKGBK
BIG5BIG5
Shift_JISShift_JIS

 

使用例

extsv.invoke("setCharsetEncoding", "Shift_JIS");

 

setUserDefineKeyメソッド

説明

端末のハードウェアキーに、別のキーコードを設定します。

引数に誤りがある場合や実行に失敗したとき、例外が発生します。

 

呼出形式

extsv.invoke("setUserDefineKey", sourceKeyCode, destKeyCode);

 

戻り値

なし

 

引数

integer sourceKeyCode

変換元ハードウェアキーのキーコードを指定します。

※端末に存在しないキーへの割り当ては例外エラーが発生します。

 

キーコード一覧
値キー名称
601SCAN_LEFT
609SCAN_KEY
604SCAN_GUN
600SCAN_RIGHT
24VOLUME_UP
25VOLUME_DOWN
610(HT730 Plus)/ 602(EA530)PROG_1
27PROG_2
21DPAD_LEFT
19DPAD_UP
20DPAD_DOWN
22DPAD_RIGHT
607FUNC_KEY
608ALPHA_KEY
70
81
92
103
114
125
136
147
158
169
56PERIOD
66ENTER
67DEL
113CTRL_LEFT
59SHIFT_LEFT
62SPACE
111ESCAPE
61TAB
57ALT_LEFT

 

 

integer destKeyCode

変換先ハードウェアキーのキーコードを指定します。

キーコードはAndroid標準のキーコード(android.view.KeyEventクラス)の値の他、対応していれば独自キーのキーコードを指定することができます。

KeyEventクラスに関する詳細な情報はAndroid Developers(Android開発者向けサイト)のリファレンスマニュアルをご参照ください。

 

なお、引数に0を指定すると、各ハードウェアキーの設定がデフォルト値に戻ります。

 

 

使用例

extsv.invoke("setUserDefineKey", 7, 0);

 

getUserDefineKeyメソッド

説明

端末のハードウェアキーに割り当てられているキーコードを取得します。

 

呼出形式

var res = extsv.invoke("getUserDefineKey", sourceKeyCode);

 

戻り値

割り当てられている変換先ハードウェアキーのキーコードを返します。

 

引数

integer sourceKeyCode

変換元ハードウェアキーのキーコードを指定します。
setUserDefineKeyメソッドで使用可能な値を参照してください。

 

使用例

var res = extsv.invoke("getUserDefineKey", 7);

 

setNotificationBuzzerメソッド

説明

端末の各種通知音の有効・無効を設定します。

 

呼出形式

extsv.invoke("setNotificationBuzzer", type, enabled);

 

戻り値

なし

 

引数

integer type

通知音の種類を指定します。下記の値を指定できます。

値説明
1読み取り成功時

 

 

boolean enabled

通知音を有効にする場合はtrueを、無効にする場合はfalseを指定します。

 

使用例

extsv.invoke("setNotificationBuzzer", 1, true);

 

setNotificationVibratorメソッド

説明

端末の各種通知バイブレータの有効・無効を設定します。

 

呼出形式

extsv.invoke("setNotificationVibrator", type, enabled);

 

戻り値

なし

 

引数

integer type

通知バイブレータの種類を指定します。下記の値を指定できます。

値説明
1読み取り成功時

 

 

boolean enabled

通知バイブレータを有効にする場合はtrueを、無効にする場合はfalseを指定します。

 

使用例

extsv.invoke("setNotificationVibrator", 1, true);

 

systemRebootメソッド

説明

端末を再起動します。

なお、呼び出したBiz/Browserは強制的に終了します。

 

呼出形式

extsv.invoke("systemReboot");

 

戻り値

なし

 

引数

なし

 

使用例

extsv.invoke("systemReboot");

 

ReadBarcodeイベント

説明

startScanBarcodeContinuousメソッドによる連続スキャン、または ハードウェアトリガーによる読み取り(setCollectionModeメソッドの method=0 または 1 の場合)でバーコードを読み取ったときに発生します。

収集方法が「一括読み」(setCollectionModeメソッドのmethod=3、または startScanBarcodeCollectionメソッド)実行中は発生せず、 収集完了時にReadBarcodeCollectionイベントのみが発生します。

 

バーコード種別についてはstartScanBarcodeメソッドを参照してください。

 

Eventオブジェクトには以下の子オブジェクトが付加されています。

型

名前

説明

integer

type

バーコード種別

String

data

バーコードのデータの文字列表現

String

rawdata

バーコードのデータの生データ(バイト列)をBase64エンコードした文字列(※)
※Biz/BrowserのBase64Decoderクラスを用いてBase64デコードすることでバイナリデータを復元することができます。
読み込むバーコードに日本語の文字を含む場合や、バイナリデータを含む場合に使用できます。

 

使用例

ExternalService extsv{
	Function OnReadBarcode(e){
		^.Label1.value = e.type + " : " + e.data ;
	}
}
		

 

ReadBarcodeCollectionイベント

説明

一括読みが完了した場合に発生します。

このイベントのイベントハンドラから、getBarcodeCollectionメソッドで結果が取得できます。

 

使用例

ExternalService extsv{
	Function OnReadBarcodeCollection(e){
		var res = extsv.invoke("getBarcodeCollection");
	}
}