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イベント | 一括読みが完了した場合に発生します。 |
|
説明 |
バーコードの読み取り処理を行い、読み込んだバーコードのデータおよび種別を返します。
バーコードの読み取りに成功するかタイムアウト時間が経過するまでスキャンを行います。 スキャンが終了し、このメソッドが結果を返すまで処理は戻りません。
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
呼出形式 |
var res = extsv.invoke("startScanBarcode", timeoutMs);
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
戻り値 |
以下の3つの要素を持つ連想配列のArrayオブジェクト
integer type バーコードの種類 String data バーコードのデータの文字列表現 String rawdata バーコードのデータの生データ(バイト列)をBase64エンコードした文字列(※) ※Biz/BrowserのBase64Decoderクラスを用いてBase64デコードすることでバイナリデータを復元することができます。 読み込むバーコードに日本語の文字を含む場合や、バイナリデータを含む場合に使用できます。
バーコードの種類はそれぞれ下記に対応しています。
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
引数 |
integer timeoutMs |
スキャンのタイムアウト時間[msec]。範囲は1~9900msです。 0以下の値を指定すると既定の時間(9000ms)だけ待機します。 ※ 9900ms を超える場合、既定の時間(9000ms)に補正されます。
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
使用例 |
var res = extsv.invoke("startScanBarcode", 3000);
//.MessageBox("データ:" + res[0]["data"] + "/種類:" + res[0]["type"]);
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
説明 |
startScanBarcodeContinuousメソッドによる連続読み、startScanBarcodeCollectionメソッドによる一括読みのスキャンを停止します。
|
|
|
呼出形式 |
extsv.invoke("stopScanBarcode");
|
|
|
戻り値 |
なし
|
|
|
引数 |
なし
|
|
|
使用例 |
extsv.invoke("stopScanBarcode");
|
|
|
説明 |
連続スキャンを開始します。停止する場合は、stopScanBarcodeメソッドを呼び出します。
バーコードを読み取ると、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。 読み取ったバーコードのデータはEventオブジェクトの子オブジェクトから取得することができます。
バーコード種別についてはstartScanBarcodeメソッドを参照してください。
|
|
|
呼出形式 |
extsv.invoke("startScanBarcodeContinuous", sameInterval);
|
|
|
戻り値 |
なし
|
|
|
引数 |
integer sameInterval |
同一バーコードの二度読み防止時間を、100ミリ秒単位で指定します。 ※ 99 を超える場合、99(9900ms)に補正されます。 1以上を設定すると、同一のバーコードを設定した時間が経過するまで読み取りません。
|
|
使用例 |
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);
}
}
|
|
|
説明 |
ハードウェアのトリガーによるスキャンの収集方法の設定を行います。初期値は単発読み(0)です。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
・単発読み バーコードを読み取る度に、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。 読み取ったバーコードのデータはReadBarcodeイベントから取得することができます。 バーコードを1つ読み取ると、読み取りが停止します。 ・連続読み バーコードを読み取る度に、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。 読み取ったバーコードのデータはReadBarcodeイベントから取得することができます。 ・一括読み 引数:codeCountで指定された数だけバーコードが読み取られると、ExternalServiceオブジェクトからReadBarcodeCollectionイベントが発生します。 ReadBarcodeCollectionイベントハンドラ内でgetBarcodeCollectionメソッドを呼出し、戻り値としてバーコードのデータを取得することができます。
|
|||||||||
|
呼出形式 |
extsv.invoke("setCollectionMode", method, codeCount);
|
|||||||||
|
戻り値 |
なし
|
|||||||||
|
引数 |
integer method |
読み取りモードを指定します。 読み取りモードに関する詳細な情報はハードウェアのリファレンスマニュアルをご参照ください。
|
||||||||
|
|
integer codeCount |
バーコードを収集する個数を指定します。1~10の間で設定します。
|
||||||||
|
使用例 |
extsv.invoke("setCollectionMode", 3, 5);
|
|||||||||
|
説明 |
一括読みで複数のバーコードを読み取るスキャンを開始します。 読み取り中、一度読み取ったバーコードと同じバーコードは読み取りません。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。 ・一括読み 引数:codeCountで指定された数だけバーコードが読み取られると、ExternalServiceオブジェクトからReadBarcodeCollectionイベントが発生します。 ReadBarcodeCollectionイベントハンドラ内でgetBarcodeCollectionメソッドを呼出し、戻り値としてバーコードのデータを取得することができます。 当メソッドによるスキャンを停止する場合は、stopScanBarcodeメソッドを呼び出します。 |
|||||
|
呼出形式 |
extsv.invoke("startScanBarcodeCollection", method, codeCount [, timeoutMs]);
|
|||||
|
戻り値 |
なし
|
|||||
|
引数 |
integer method |
読み取りモードを指定します。
|
||||
|
|
integer codeCount |
バーコードを収集する個数を指定します。1〜10の範囲で設定します。
|
||||
|
|
integer timeoutMs |
スキャンのタイムアウト時間[msec]。範囲は1~9900msです。 0以下の値を指定すると既定の時間(9000ms)だけ待機します。 ※ 9900ms を超える場合、既定の時間(9000ms)に補正されます。
|
||||
|
使用例 |
extsv.invoke("startScanBarcodeCollection", 3, 5, 5000);
|
|||||
|
説明 |
一括読みで読み取ったバーコードを取得します。
|
|
|
呼出形式 |
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"] );
|
|
|
説明 |
指定したバーコードを読み取り対象にするかどうかを指定します。
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
呼出形式 |
extsv.invoke("setBarcodeEnabled", type, enabled);
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
戻り値 |
なし
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
引数 |
integer type |
設定を行うバーコードの種類を指定します。
※1 GS1 Composite CC-A/B/C は 1次元シンボル も同様に有効にしてください。
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
boolean enabled |
指定するバーコードの読取を有効にする場合はtrueを、無効にする場合はfalseを指定します。
|
||||||||||||||||||||||||||||||||||||||||||||||
|
使用例 |
extsv.invoke("setBarcodeEnabled", 11, true);
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
説明 |
読み取ったバーコードのデータを、どの文字コードでエンコードするかを指定します。 各種読み取りで取得したバーコードデータの文字列表現について、読み取ったデータを規定の文字エンコード設定でエンコードします。 データと設定のエンコードが異なるとき、文字化けすることがあります。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||||||||
|
呼出形式 |
extsv.invoke("setCharsetEncoding", charset);
|
|||||||||||
|
戻り値 |
なし
|
|||||||||||
引数 |
String charset |
エンコード設定。以下から値を指定します。大文字小文字は区別しません。
|
||||||||||
|
使用例 |
extsv.invoke("setCharsetEncoding", "Shift_JIS");
|
|||||||||||
|
説明 |
端末のハードウェアキーに、別のキーコードを設定します。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
呼出形式 |
extsv.invoke("setUserDefineKey", sourceKeyCode, destKeyCode);
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
戻り値 |
なし
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
引数 |
integer sourceKeyCode |
変換元ハードウェアキーのキーコードを指定します。 ※端末に存在しないキーへの割り当ては例外エラーが発生します。
キーコード一覧
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
integer destKeyCode |
変換先ハードウェアキーのキーコードを指定します。 キーコードはAndroid標準のキーコード(android.view.KeyEventクラス)の値の他、対応していれば独自キーのキーコードを指定することができます。 KeyEventクラスに関する詳細な情報はAndroid Developers(Android開発者向けサイト)のリファレンスマニュアルをご参照ください。
なお、引数に0を指定すると、各ハードウェアキーの設定がデフォルト値に戻ります。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
使用例 |
extsv.invoke("setUserDefineKey", 7, 0);
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
説明 |
端末のハードウェアキーに割り当てられているキーコードを取得します。
|
|
|
呼出形式 |
var res = extsv.invoke("getUserDefineKey", sourceKeyCode);
|
|
|
戻り値 |
割り当てられている変換先ハードウェアキーのキーコードを返します。
|
|
|
引数 |
integer sourceKeyCode |
変換元ハードウェアキーのキーコードを指定します。
|
|
使用例 |
var res = extsv.invoke("getUserDefineKey", 7);
|
|
|
説明 |
端末の各種通知音の有効・無効を設定します。
|
|||||
|
呼出形式 |
extsv.invoke("setNotificationBuzzer", type, enabled);
|
|||||
|
戻り値 |
なし
|
|||||
|
引数 |
integer type |
通知音の種類を指定します。下記の値を指定できます。
|
||||
|
|
boolean enabled |
通知音を有効にする場合はtrueを、無効にする場合はfalseを指定します。
|
||||
|
使用例 |
extsv.invoke("setNotificationBuzzer", 1, true);
|
|||||
|
説明 |
端末の各種通知バイブレータの有効・無効を設定します。
|
|||||
|
呼出形式 |
extsv.invoke("setNotificationVibrator", type, enabled);
|
|||||
|
戻り値 |
なし
|
|||||
|
引数 |
integer type |
通知バイブレータの種類を指定します。下記の値を指定できます。
|
||||
|
|
boolean enabled |
通知バイブレータを有効にする場合はtrueを、無効にする場合はfalseを指定します。
|
||||
|
使用例 |
extsv.invoke("setNotificationVibrator", 1, true);
|
|||||
|
説明 |
端末を再起動します。 なお、呼び出したBiz/Browserは強制的に終了します。
|
|
|
呼出形式 |
extsv.invoke("systemReboot");
|
|
|
戻り値 |
なし
|
|
|
引数 |
なし
|
|
|
使用例 |
extsv.invoke("systemReboot");
|
|
|
説明 |
startScanBarcodeContinuousメソッドによる連続スキャン、または ハードウェアトリガーによる読み取り(setCollectionModeメソッドの method=0 または 1 の場合)でバーコードを読み取ったときに発生します。 収集方法が「一括読み」(setCollectionModeメソッドのmethod=3、または startScanBarcodeCollectionメソッド)実行中は発生せず、 収集完了時にReadBarcodeCollectionイベントのみが発生します。
バーコード種別についてはstartScanBarcodeメソッドを参照してください。
Eventオブジェクトには以下の子オブジェクトが付加されています。
|
|||||||||||||
|
使用例 |
ExternalService extsv{
Function OnReadBarcode(e){
^.Label1.value = e.type + " : " + e.data ;
}
}
|
|||||||||||||
|
説明 |
一括読みが完了した場合に発生します。 このイベントのイベントハンドラから、getBarcodeCollectionメソッドで結果が取得できます。
|
|
|
使用例 |
ExternalService extsv{
Function OnReadBarcodeCollection(e){
var res = extsv.invoke("getBarcodeCollection");
}
}
|
|