Biz/Browser HTと外部サービスを連携する機能「ExternalService」クラスを用いて使用することができるメソッドの一覧です。
サービスの使い方については、Biz/Browser HTのExternalServiceクラスのリファレンスも参照してください。
※正しく動作させるためには、端末のOSバージョンを最新にする必要があります。
本モジュールとリファレンスについて
メーカ |
対応機種 |
サービスID値 |
バージョン |
Biz/Browserの対応バージョン |
|---|---|---|---|---|
|
MEFERI |
ME40K |
com.accenture.biz.util.poweruptool.meferi/.MainService |
v1.1.0 |
v1.4.7以上 |
※掲載されている会社名や製品名は、一般に各社の商標または登録商標です。
使用例
/* 本端末制御モジュール専用サービスID(本サービスにおいて固定値) */
String SERVICE_ID = "com.accenture.biz.util.poweruptool.meferi/.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】
ME40Kについて、アプリ「DuraSpeed(※)」が有効になっている場合、以下の動作不具合を起こすことが判明しています。
※DuraSpeedとは、バックグラウンドアプリを制限することで、フォアグラウンドアプリを高速化するアプリケーションです。
・下記条件時に端末制御モジュールのサービスプロセスがDuraSpeedによって強制終了される。
端末制御モジュールがBindされていない状態で端末をスリープ状態にし、5分以上経過した場合。
・下記条件時にBiz/Browser HTから端末制御モジュールへのBindが失敗する。
- 手動でアプリ情報の「強制停止」によって端末制御モジュールのプロセスを強制終了した場合
- 端末制御モジュールのプロセスが強制終了した場合(DuraSpeedによりキルされた場合も含む)
- 端末制御モジュールを上書きインストールした場合
端末制御モジュールを使用する際は、以下の手順でDuraSpeedをOFFに設定してください。
(1)OS設定>DuraSpeedを開く
(2)OFFに切り替える(以降、ONに切り替えない限りは恒常的に維持されます)
【注意事項その2】
ME40Kについて、連続スキャン間隔がある程度短いとき、連続スキャン時に以下の動作不具合を起こすことが判明しています。
・startScanBarcodeContinuousメソッドにより連続スキャン、およびトリガーボタンによる連続スキャンをしたとき、
連続スキャン間隔がある程度短いとReadBarcodeイベントの発生タイミングが安定しない。
または、引数sameIntervalで指定した同一バーコード読み取り間隔に従わないことがある。
対策としては、連続スキャン間隔の設定をある程度(目安として500ms以上)長くすることで現象が緩和します。
以下の手順で連続スキャン間隔の設定を調整することができます。
(1)「ScanEdge」アプリを開く
(2)「アプリ設定」→「スキャン設定」→「連続スキャン間隔(0~5000ms)」の順に選択し、設定値を変更する
【注意事項その3】
startScanBarcodeContinuousメソッド、およびstartScanBarcodeCollectionメソッドの実行によるスキャン照射が行われている間、トリガーボタンの押下によってスキャン照射を開始した場合、スキャン照射が停止することがあります。
この場合、stopScanBarcodeメソッドを呼び出してスキャン照射を停止した後、再度startScanBarcodeContinuousメソッドやstartScanBarcodeCollectionメソッドを呼び出すことでスキャン照射が可能になります。
| メソッド名 | 概要 |
|---|---|
| startScanBarcode | バーコード読み取りのスキャンを開始し、読み取ったバーコードのデータおよび種別を返します。 |
| startScanBarcodeContinuous | バーコードの連続スキャンを開始します。 |
| stopScanBarcode | 各読み取りのスキャンを終了します。 |
| setNotificationBuzzer | 端末の各種通知音の有効・無効を設定します。 |
| getNotificationBuzzer | 端末の各種通知音の有効・無効設定を取得します。 |
| setNotificationVibrator | 端末の各種通知バイブレータの有効・無効を設定します。 |
| getNotificationVibrator | 端末の各種通知バイブレータの有効・無効設定を取得します。 |
| setBarcodeEnabled | 指定したバーコードを読み取り対象にするかどうかを指定します。 |
| isBarcodeEnabled | 指定したバーコードを読み取り対象にするかどうかを取得します。 |
| setUserDefineKey | 端末のハードウェアキーに、別のキーコードを設定します。 |
| getUserDefineKey | 端末のハードウェアキーに割り当てられているキーコードを取得します。 |
| setScanTriggerMode | トリガーモードを設定します。 |
| getScanTriggerMode | トリガーモードを取得します。 |
| setCollectionMode | ハードウェアのトリガーによるスキャンの収集方法の設定を行います。 |
| getCollectionMode | ハードウェアのトリガーによるスキャンの収集方法の設定を取得します。 |
| startScanBarcodeCollection | 一括読みで複数のバーコードを読み取るスキャンを開始します。 |
| getBarcodeCollection | 一括読みで読み取ったバーコードを取得します。 |
| setCharsetEncoding | スキャン結果データの文字コードのエンコード方法を設定します。 |
| getCharsetEncoding | スキャン結果データの文字コードのエンコード方法を取得します。 |
| systemReboot | 端末を再起動します。 |
| systemShutdown | 端末の電源をシャットダウンします。 |
| ReadBarcodeイベント | 各読み取りのスキャンでバーコードを読み取ったときに発生します。 |
| ReadBarcodeCollectionイベント | 一括読みが完了した場合に発生します。 |
|
説明 |
バーコード読み取りのスキャンを開始し、読み取ったバーコードのデータおよび種別を返します。 バーコードの読み取りに成功するかタイムアウト時間が経過するまでスキャンを行います。 スキャンが終了し、このメソッドが結果を返すまで処理は戻りません。
startScanBarcodeContinuousメソッド、startScanBarcodeCollectionメソッドによるスキャンが実行中である場合、それらを停止してから動作します。
|
|||||||||||||||||||||||||||||||||||||||||||||
|
呼出形式 |
var res = extsv.invoke("startScanBarcode", timeoutMs);
|
|||||||||||||||||||||||||||||||||||||||||||||
|
戻り値 |
以下の3つの要素を持つ連想配列のArrayオブジェクト
integer type バーコードの種類 String data バーコードのデータの文字列表現 String rawdata バーコードのデータの生データ(バイト列)をBase64エンコードした文字列(※) ※Biz/BrowserのBase64Decoderクラスを用いてBase64デコードすることでバイナリデータを復元することができます。 読み込むバーコードに日本語の文字を含む場合や、バイナリデータを含む場合に使用できます。
バーコードの種類はそれぞれ下記に対応しています。
※COMPOSITEバーコードを読み取る場合、関連バーコード種別も同時に有効に設定する必要があります。 ※CODE-32バーコードを読み取る場合、CODE-39も同時に有効に設定する必要があります。
|
|||||||||||||||||||||||||||||||||||||||||||||
|
引数 |
integer timeoutMs |
スキャンのタイムアウト時間[msec]。500~10000を指定します。範囲外の値を指定した場合はデフォルトのタイムアウト時間を使用します。
|
||||||||||||||||||||||||||||||||||||||||||||
|
使用例 |
var res = extsv.Invoke("startScanBarcode", 3000);
//.MessageBox("データ:" + res[0]["data"] + "/種類:" + Str(res[0]["type"]) + "/生データ:" + Base64Decoder.Convert(res[0]["rawdata"]));
|
|||||||||||||||||||||||||||||||||||||||||||||
|
説明 |
バーコードの連続スキャンを開始します。 バーコードを読み取ると、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。 読み取ったバーコードのデータはReadBarcodeイベントから取得することができます。 連続スキャンを停止する場合は、stopScanBarcodeメソッドを呼び出します。
startScanBarcodeContinuousメソッド、startScanBarcodeCollectionメソッドによるスキャンが実行中である場合、それらを停止してから動作します。
|
|
|
呼出形式 |
extsv.invoke("startScanBarcodeContinuous", sameInterval);
|
|
|
戻り値 |
なし
|
|
|
引数 |
integer sameInterval |
同一バーコードの二度読み防止時間を、100ミリ秒単位で指定します。
|
|
使用例 |
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);
}
}
|
|
|
説明 |
startScanBarcodeContinuousメソッドによる連続読み、またはstartScanBarcodeCollectionメソッドによる一括読みのスキャンを停止します。
|
|
|
呼出形式 |
extsv.invoke("stopScanBarcode");
|
|
|
戻り値 |
なし
|
|
|
引数 |
なし |
|
|
説明 |
端末の各種通知音の有効・無効を設定します。 このメソッドによる設定は端末制御モジュールの終了後も端末設定として維持されます。デフォルトは現在の端末設定に従います。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||
|
呼出形式 |
extsv.invoke("setNotificationBuzzer", type, enabled);
|
|||||
|
戻り値 |
なし
|
|||||
|
引数 |
integer type |
通知音の種類。下記の値を指定できます。
|
||||
|
|
boolean enabled |
通知音を有効にする場合はtrueを、無効にする場合はfalseを指定します。
|
||||
|
説明 |
端末の各種通知音の有効・無効設定を取得します。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||
|
呼出形式 |
var res = extsv.invoke("getNotificationBuzzer", type);
|
|||||
|
戻り値 |
typeに指定した種類の通知音が有効の場合はtrueを、無効の場合はfalseを返します。
|
|||||
|
引数 |
integer type |
通知音の種類。下記の値を指定できます。
|
||||
|
説明 |
端末の各種通知バイブレータの有効・無効を設定します。 このメソッドによる設定は端末制御モジュールの終了後も端末設定として維持されます。デフォルトは現在の端末設定に従います。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||
|
呼出形式 |
extsv.invoke("setNotificationVibrator", type, enabled);
|
|||||
|
戻り値 |
なし
|
|||||
|
引数 |
integer type |
通知バイブレータの種類。下記の値を指定できます。
|
||||
|
|
boolean enabled |
通知バイブレータを有効にする場合はtrueを、無効にする場合はfalseを指定します。
|
||||
|
説明 |
端末の各種通知バイブレータの有効・無効設定を取得します。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||
|
呼出形式 |
var res = extsv.invoke("getNotificationVibrator", type);
|
|||||
|
戻り値 |
typeに指定した種類の通知バイブレータが有効の場合はtrueを、無効の場合はfalseを返します。
|
|||||
|
引数 |
integer type |
通知バイブレータの種類。下記の値を指定できます。
|
||||
|
説明 |
指定したバーコードを読み取り対象にするかどうかを指定します。 このメソッドによる設定は端末制御モジュールの終了後も端末設定として維持されます。デフォルトは現在の端末設定に従います。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||||||||||||||||||||||||||||||||||||||||||
|
呼出形式 |
extsv.invoke("setBarcodeEnabled", type, enabled);
|
|||||||||||||||||||||||||||||||||||||||||||||
|
戻り値 |
なし
|
|||||||||||||||||||||||||||||||||||||||||||||
|
引数 |
integer type |
設定を行うバーコードの種類を指定します。
※COMPOSITEバーコードを読み取る場合、関連バーコード種別も同時に有効に設定する必要があります。 ※CODE-32バーコードを読み取る場合、CODE-39も同時に有効に設定する必要があります。 ※ME63において、以下のバーコードシンボルについて現在有効化の対象外となっています。 - GS1 DataBar(Limited) - GS1 DataBar(Expanded) - GS1 DataBar(ExpandedStacked) - GS1 CompositeCC-A/B - GS1-128
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
boolean enabled |
指定するバーコードの読取を有効にする場合はtrueを、無効にする場合はfalseを指定します。
|
||||||||||||||||||||||||||||||||||||||||||||
|
説明 |
指定したバーコードの読み取り有効/無効を取得します。
|
|
|
呼出形式 |
var res = extsv.invoke("isBarcodeEnabled", type);
|
|
|
戻り値 |
指定したバーコードの読み取りが有効の場合はtrueを、無効の場合はfalseを返します。 失敗および設定範囲外のバーコードを指定した場合はfalseを返します。
|
|
|
引数 |
integer type |
設定を取得するバーコードの種類を指定します。
|
|
説明 |
端末のハードウェアキーに、別のキーコードを設定します。 このメソッドによる設定は端末制御モジュールの終了後も端末設定として維持されます。デフォルトは現在の端末設定に従います。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
呼出形式 |
extsv.invoke("setUserDefineKey", sourceKeyCode, destKeyCode);
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
戻り値 |
なし
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
引数 |
integer sourceKeyCode |
変換元ハードウェアキーのキーコードを指定します。 ※機種により、搭載されていないキーがあります。予め使用可能なキーをご確認のうえ設定してください。
キーコード一覧トリガー
方向キー
特殊キー
数字キー
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
integer destKeyCode |
変換先ハードウェアキーのキーコードを指定します。 キーコードはAndroid標準のキーコード(android.view.KeyEventクラス)の値の他、対応していれば独自キーのキーコードを指定することができます。 KeyEventクラスに関する詳細な情報はAndroid Developers(Android開発者向けサイト)のリファレンスマニュアルをご参照ください。
引数に0を指定すると、各ハードウェアキーの設定がデフォルト値に戻ります。0未満の値を指定すると例外が発生します。
一部のキーコードを割り当てた場合、割り当てられたキーの押下時に端末が特殊な動作をすることがあります。以下のキーコードは意図しない動作をする可能性があるため、注意してご利用ください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
説明 |
端末のハードウェアキーに割り当てられているキーコードを取得します。
|
|
|
呼出形式 |
var res = extsv.invoke("getUserDefineKey", sourceKeyCode);
|
|
|
戻り値 |
成功の場合、割り当てられている変換先ハードウェアキーのキーコードを返します。
|
|
|
引数 |
integer sourceKeyCode |
変換元ハードウェアキーのキーコードを指定します。
|
|
説明 |
トリガーモードを設定します。 このメソッドによる設定は端末制御モジュールの終了後も端末設定として維持されます。デフォルトは現在の端末設定に従います。
|
|||||||||||
|
呼出形式 |
extsv.invoke("setScanTriggerMode", mode);
|
|||||||||||
|
戻り値 |
なし
|
|||||||||||
|
引数 |
integer mode |
トリガーモードの種類。下記の値を指定できます。
|
||||||||||
|
説明 |
トリガーモードを取得します。
|
|||||||||||
|
呼出形式 |
var res = extsv.invoke("getScanTriggerMode");
|
|||||||||||
|
戻り値 |
トリガーモードの種類。下記の値が戻ります。
|
|||||||||||
|
引数 |
なし
|
|
||||||||||
|
説明 |
ハードウェアのトリガーによるスキャンの収集方法の設定を行います。 このメソッドによる設定は端末制御モジュールの終了後も端末設定として維持されます。デフォルトは現在の端末設定に従います。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
バーコードの読み取り結果をスクリプト内で取得したい場合は、出力方式を「ブロードキャスト出力」に設定してください。 「ブロードキャスト出力」の設定方法は下記にて設定が可能です。 - 「ScanEdge」アプリの「出力モード」設定で、「ブロードキャスト出力」もしくは「鍵とブロードキャスト出力」を設定する
引数methodに指定した内容に従い、トリガーによるスキャンに対する動作が以下のように変化します。
・引数methodに0(単発スキャン)を指定した場合 - トリガーによるスキャンは単発スキャンと見なされます。 - バーコードを読み取る度に、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。 - 読み取ったバーコードのデータはReadBarcodeイベントから取得することができます。 - 引数codeCountの指定は無視され、1が指定されたものと見なされます。 - バーコードを1つ読み取ると、読み取りが停止します。
・引数methodに3(一括スキャン)を指定した場合 - トリガーによるスキャンは一括スキャンと見なされます。 - 引数codeCountで指定された個数だけバーコードが読み取られると、ExternalServiceオブジェクトからReadBarcodeCollectionイベントが発生します。 - ReadBarcodeCollectionイベントハンドラ内でgetBarcodeCollectionメソッドを呼出し、戻り値としてバーコードのデータを取得することができます。 ※読み取ったバーコードが指定個数より少ない場合、ReadBarcodeCollectionイベントは発生しません |
||||||||||
|
呼出形式 |
extsv.invoke("setCollectionMode", method, codeCount);
|
||||||||||
|
戻り値 |
なし
|
||||||||||
|
引数 |
integer method |
読み取りモードを指定します。
|
|||||||||
|
|
integer codeCount |
バーコードを収集する個数を指定します。
| |||||||||
|
説明 |
ハードウェアのトリガーによるスキャンの収集方法の設定を取得します。
|
|||||||
|
呼出形式 |
var res = extsv.invoke("getCollectionMode");
|
|||||||
|
戻り値 |
以下の2つの要素を持つ連想配列のArrayオブジェクト
integer method 読み取りモード integer codeCount 収集個数
読み取りモードは、現在の設定によって以下の値が取得されます。
|
|||||||
|
引数 |
なし
|
|||||||
|
使用例 |
var res = extsv.Invoke("getCollectionMode");
//.MessageBox("読み取りモード:" + res[0]["method"] + "/収集個数:" + Str(res[0]["codeCount"]) );
|
|||||||
|
説明 |
一括スキャンで複数のバーコードを読み取るスキャンを開始します。 読み取り中、一度読み取ったバーコードと同じバーコードは読み取りません。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
startScanBarcodeContinuousメソッド、startScanBarcodeCollectionメソッドによるスキャンが実行中である場合、それらを停止してから動作します。
引数codeCountで指定された数だけバーコードが読み取られると、ExternalServiceオブジェクトからReadBarcodeCollectionイベントが発生します。 ReadBarcodeCollectionイベントハンドラ内でgetBarcodeCollectionメソッドを呼出し、戻り値としてバーコードのデータを取得することができます。 ※引数codeCountで指定された数より少ない数のバーコードを読み取っている場合、ReadBarcodeCollectionイベントは発生しません。
このメソッドによるスキャンを停止する場合は、stopScanBarcodeメソッドを呼び出します。 |
|||||
|
呼出形式 |
extsv.invoke("startScanBarcodeCollection", method, codeCount [, timeoutMs]);
|
|||||
|
戻り値 |
なし
|
|||||
|
引数 |
integer method |
読み取りモードを指定します。
|
||||
|
|
integer codeCount |
バーコードを収集する個数を指定します。2~10の間で設定します。
|
||||
|
|
integer timeoutMs |
スキャンのタイムアウト時間[msec]。500~10000を指定します。範囲外の値を指定した場合はデフォルトのタイムアウト時間を使用します。
|
||||
|
説明 |
一括スキャンで読み取ったバーコードを取得します。
|
|
|
呼出形式 |
var res = extsv.invoke("getBarcodeCollection");
|
|
|
戻り値 |
以下の1つの要素を持つ連想配列のArrayオブジェクト
String data バーコードのデータの文字列表現
|
|
|
引数 |
なし
|
|
|
使用例 |
var res = extsv.Invoke("getBarcodeCollection");
//.MessageBox("1個目のバーコードのデータ:" + res[0]["data"] );
|
|
説明 |
読み取ったバーコードのデータを、どの文字コードでエンコードするかを指定します。 各種読み取りで取得したバーコードデータの文字列表現について、読み取ったデータを規定の文字エンコード設定でエンコードします。 データと設定のエンコードが異なるとき、文字化けすることがあります。
このメソッドによる設定は端末制御モジュールの終了後も端末設定として維持されます。デフォルトは現在の端末設定に従います。 引数に誤りがある場合や実行に失敗したとき、例外が発生します。
|
|||||||||
呼出形式 |
extsv.invoke("setCharsetEncoding", charset);
|
|||||||||
戻り値 |
なし
|
|||||||||
引数 |
String charset |
エンコード設定。以下から値を指定します。大文字小文字は区別しません。また、記号の一部など表記揺れにも対応します。
|
||||||||
説明 |
読み取ったバーコードのデータを、どの文字コードでエンコードするかの設定を取得します。デフォルトは現在の端末設定に従います。
|
|||||
呼出形式 |
var res = extsv.invoke("getCharsetEncoding");
|
|||||
戻り値 |
現在のエンコード設定を、下記のいずれかの文字列で返します。
|
|||||
引数 |
なし
|
|||||
説明 |
端末を再起動します。 なお、呼び出したBiz/Browserは強制的に終了します。
|
|
呼出形式 |
extsv.invoke("systemReboot");
|
|
戻り値 |
なし
|
|
引数 |
なし
|
|
説明 |
端末の電源をシャットダウンします。 なお、呼び出したBiz/Browserは強制的に終了します。
|
|
呼出形式 |
extsv.invoke("systemShutdown");
|
|
戻り値 |
なし
|
|
引数 |
なし
|
|
|
説明 |
各読み取り方法でバーコードを読み取ったときに発生します。また、本モジュールの接続中、トリガーボタン押下(端末の標準スキャン)によってバーコードを読み取ったときにも発生します。
Eventオブジェクトには以下の子オブジェクトが付加されています。
|
|||||||||||||
|
説明 |
一括読みが完了した場合に発生します。 このイベントのイベントハンドラから、getBarcodeCollectionメソッドで結果が取得できます。
|
|