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

 

 

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

※正しく動作させるためには、端末のOSバージョンを最新にする必要があります。

 

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

メーカ

対応機種

サービスID値

バージョン

Biz/Browserの対応バージョン

Newland

MT93

jp.co.opst.biz.util.poweruptool.newlandpoweruptool/.MainService

v1.0.0

v1.4.1以上

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

 

使用例

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

ExternalService sv{
	Function OnBoundStateChanged(e){
		if(e.state == "Bound"){
			//.Messagebox("サービスと接続しました");
		}
	}
}
Button btn1{
	Function OnTouch(e){
		^.sv.bind(^.SERVICE_ID);
	}
}

Button btn2{
	Function OnTouch(e){
		^.sv.invoke(^.METHOD_NAME, 7, 2000);
	}
}

 

【注意事項】

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

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

 

●下記条件時に端末制御モジュールのサービスプロセスがDuraSpeedにキルされる。

 端末制御モジュールをUnBind状態で、端末をスリープ状態にし、5分以上経過した場合。

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

 ・手動でアプリ情報の「強制停止」から端末制御モジュールを強制終了した場合

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

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

 

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

(1)OS設定>DuraSpeedを開く

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

 

目次

 

メソッド名 概要
startScanBarcode バーコードの読み取り処理を行い、読み込んだバーコードのデータおよび種別を返します。
startScanBarcodeContinuous 連続スキャンを開始します。
stopScanBarcode 連続スキャンを終了します。
setNotificationBuzzer 端末の各種通知音の有効・無効を設定します。
setNotificationVibrator 端末の各種通知バイブレータの有効・無効を設定します。
setCharsetEncoding スキャン結果データのエンコードを設定します。
setBarcodeEnabled 指定したバーコードを読み取り対象にするかどうかを指定します。
ReadBarcodeイベント 連続スキャンでバーコードを読み取ったときに発生します。

 

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
9ITF(InterLeaved 2 Of 5)
11CODE-128
12CODE-93
13CODE-39
14CODABAR(NW-7)
15CODE-32
16MSI/Plessey
17QRコード
18GS1 DataBar
21GS1 Composite(CC-A/B/C)
22HANXIN
23GS1-128
24MaxiCode
25PDF417
26Data Matrix
27Micro PDF
29STF(Industrial 2 of 5)

 

※GS1 Composite(CC-A/B/C)が有効になっている場合、以下のバーコード種別についてスキャンが無効になります。

 EAN-13(JAN-13) / EAN-8(JAN-8) / UPC-E / UPC-A

 

※ISBTは"CODE-128(11)"として識別されます。

 

引数

integer timeoutMs

スキャンのタイムアウト時間[msec]。0以下の値を設定するとデフォルトの時間だけ待機します。
デフォルトのタイムアウト時間は9000(9秒)です。なお、60000(60秒)より長くすることはできません。

 

使用例

var res = extsv.Invoke("startScanBarcode", 3000);
//.MessageBox("データ:" + res[0]["data"] + "/種類:" + Str(res[0]["type"]) + "/生データ:" + Base64Decoder.Convert(res[0]["rawdata"]));
	

 

startScanBarcodeContinuousメソッド

説明

連続スキャンを開始します。

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

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

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

 

※読み取るバーコード種別などのスキャン設定は、端末制御モジュール初期化のたびに端末デフォルト値に戻ります。

 

呼出形式

extsv.invoke("startScanBarcodeContinuous", sameInterval);

 

戻り値

なし

 

引数

integer sameInterval

同一バーコードの二度読み防止時間を、100ミリ秒単位で指定します。
1から100の値を設定すると、同一のバーコードを設定した時間が経過するまで読み取りません。
0以下若しくは100より大きい値を設定すると、同一バーコードは異なるバーコードを読み取るまで読み取りません。

 

使用例

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

    Function OnTouch( e ) {
        var res = ^.exs.Invoke("startScanBarcodeContinuous", 3);
    }
}
		

 

stopScanBarcodeメソッド

説明

連続スキャンを終了します。

 

呼出形式

extsv.invoke("stopScanBarcode");

 

戻り値

なし

 

引数

なし

 

setNotificationBuzzerメソッド

説明

端末の各種通知音の有効・無効を設定します。デフォルトは有効です。

 

呼出形式

extsv.invoke("setNotificationBuzzer", enabled);

 

戻り値

なし

 

引数

boolean enabled

通知音を有効にするかどうか。

 

 

setNotificationVibratorメソッド

説明

端末の各種通知バイブレータの有効・無効を設定します。デフォルトは有効です。

 

呼出形式

extsv.invoke("setNotificationVibrator", enabled);

 

戻り値

なし

 

引数

boolean enabled

通知バイブレータを有効にするかどうか。

 

 

setCharsetEncodingメソッド

説明

読み取ったバーコードのデータを、どの文字コードでエンコードするかを指定します。デフォルトはUTF-8です。

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

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

 

呼出形式

extsv.invoke("setCharsetEncoding", charset);

 

戻り値

なし

 

引数

String charset

エンコード設定。以下から値を指定します。大文字小文字は区別しません。また、記号の一部など表記揺れにも対応します。

文字コード
ISO-8859-1、CP1252、Latin1ISO-8859-1
Shift_JISShift_JIS
UTF-8UTF-8
GBKGBK
Windows-1251Windows-1251

 

 

setBarcodeEnabledメソッド

説明

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

 

呼出形式

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

 

戻り値

なし

 

引数

integer type

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

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

バーコードの種類
1EAN-13(JAN-13)
2EAN-8(JAN-8)
3UPC-E
4UPC-A
5Aztec
9ITF(InterLeaved 2 Of 5)
11CODE-128
12CODE-93
13CODE-39
14CODABAR(NW-7)
16MSI/Plessey
17QRコード
18GS1 DataBar
21GS1 Composite(CC-A/B/C)
22HANXIN
23GS1-128
24MaxiCode
25PDF417
26Data Matrix
27Micro PDF
29STF(Industrial 2 of 5)

 

※CODE-39、CODE-32の設定は共通となります。

※GS1 Composite(CC-A/B/C)が有効になっている場合、以下のバーコード種別についてスキャンが無効になります。

 EAN-13(JAN-13) / EAN-8(JAN-8) / UPC-E / UPC-A

 

※ISBTは"CODE-128(11)"として識別されます。

 

 

boolean enabled

読み取りを行う場合は$TRUEを、読み取りを行わない場合は$FALSEを指定します。

 

ReadBarcodeイベント

説明

連続スキャンでバーコードを読み取ったときに発生します。

 

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

名前

説明

integer

type

バーコード種別

String

data

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

String

rawdata

バーコードのデータの生データ(バイト列)をBase64エンコードした文字列(※)

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