MCS-SZ100 APIリファレンス

MCS-SZ100のアプリ開発向けAPIリファレンスです。端末情報の取得、ライトや端末機能の制御、カスタムボタンの操作通知について説明します。仕様の補足や実装例は順次追加します。

このAPIでできること

  • 端末を識別する:IMEI・S/N(シリアル番号)の取得
  • ライトを操作する:レーザーライト・赤外線LEDなどの点灯・消灯
  • ボタン操作を受け取る:カスタムボタンの操作通知
  • 端末を制御する:時刻設定、アプリのインストール、再起動など

導入方法

必要なファイルをダウンロードする

  • サンプルアプリ(APK)
    MCS-SZ100にインストールして、サンプルアプリの動作を実機で試せます。
  • サンプルアプリのソースコード
    APIの呼び出し方や実装を確認できます。自分のアプリを開発する際の参考にしてください。
  • PolicyManager.java
    自分のアプリから端末のAPIを呼び出すためのJavaファイルです。開発プロジェクトに組み込んで使用します。

プロジェクトに組み込む

ダウンロードした PolicyManager.javaを、アプリの開発プロジェクトに追加します。Android Studioで、アプリのJavaソースを配置するフォルダー(通常は app/src/main/java)に、mcs8.mdmという名前のパッケージを作成し、その中にPolicyManager.javaをコピーしてください。すでに同名のパッケージがある場合は、作成不要です。

APIを呼び出す

各APIは PolicyManager クラスのstaticメソッドとして定義されており、クラス名とメソッド名を指定して呼び出します。

例:レーザーライトを点灯する場合
mcs8.mdm.PolicyManager.laserLightEnabled(true);

APIリファレンス

端末情報の取得

IMEIとS/N(シリアル番号)は、どちらも端末を識別するための番号です。端末管理に利用する場合は、どちらかに統一して使用してください。既存の台帳やシステムと照合する場合は、そこで使用している番号に合わせてください。

IMEIの取得

IMEIの取得

端末のIMEIを取得します。端末管理や、管理台帳との照合に使用できます。

メソッド引数戻り値
getDeviceImei()なし端末のIMEI(String)

使用例

CopyString imei = mcs8.mdm.PolicyManager.getDeviceImei();

※デュアルSIMの場合は、SIM1のIMEIを返します。

S/N(シリアル番号)の取得

端末のS/N(シリアル番号)を取得します。端末管理や、製品の管理台帳・保守情報との照合に使用できます。

メソッド引数戻り値
getDeviceSn()なし端末のS/N(String)

使用例

String sn = mcs8.mdm.PolicyManager.getDeviceSn();

ライトの制御

本体のライトやLEDを操作します。基本マニュアルの部位名と、操作できる機能の対応は以下のとおりです。

部位名操作できる機能
レーザーライト点灯・消灯
赤外線LED点灯・消灯、状態取得
LED0ストロボライト・白色ライト・インジケーターライトの制御
LED1・LED2赤・緑・青の点灯・消灯

レーザーライトの点灯・消灯

本体の「レーザーライト」を点灯・消灯します。

メソッド引数戻り値
laserLightEnabled(boolean open)true:点灯/false:消灯なし(void)

使用例

// レーザーライトを点灯
mcs8.mdm.PolicyManager.laserLightEnabled(true);

// レーザーライトを消灯
mcs8.mdm.PolicyManager.laserLightEnabled(false);

※レーザー光を人の目に向けないでください。

赤外線LEDの点灯・消灯と状態取得

本体の「赤外線LED」を点灯・消灯します。現在の点灯状態も取得できます。

赤外線LEDの制御と、赤外線カットフィルターの制御は別の操作です。フィルターを操作する場合は「IrCutの切り替えと状態取得」を参照してください。

メソッド引数戻り値
irLedEnable(boolean open)true:点灯/false:消灯なし(void)
getIrLedState()なしtrue:点灯/false:消灯(boolean)

使用例:点灯して状態を取得する

mcs8.mdm.PolicyManager.irLedEnable(true);

boolean isIrLedOn = mcs8.mdm.PolicyManager.getIrLedState();

使用例:消灯する

mcs8.mdm.PolicyManager.irLedEnable(false);

※左右の赤外線LEDを個別に指定する引数はありません。

LED0の制御(ストロボ・白色ライト・インジケーター)

本体の「LED0」は、ストロボライト・白色ライト・インジケーターライトの制御に対応しています。使用する機能に応じて、以下のAPIを呼び出します。

機能メソッド引数戻り値
ストロボライトstrobeLightEnable(boolean open)true:オン/false:オフなし(void)
白色ライトopenFlash(boolean open)true:点灯/false:消灯なし(void)
インジケーターライトpilotLampOpen(boolean open)true:点灯/false:消灯なし(void)

使用例:ストロボライトをオンにする

mcs8.mdm.PolicyManager.strobeLightEnable(true);

使用例:白色ライトを点灯する

mcs8.mdm.PolicyManager.openFlash(true);

使用例:インジケーターライトを点灯する

mcs8.mdm.PolicyManager.pilotLampOpen(true);

各機能をオフにする場合は、対応するメソッドにfalseを指定してください。

※上の使用例は、それぞれの機能を個別に呼び出す例です。複数の機能をオンにした場合の優先順位・相互作用、および各機能の詳しい発光動作は確認中です。

LED1・LED2の点灯・消灯(赤・緑・青)

本体の「LED1・LED2」に関係する、赤・緑・青の点灯・消灯を制御します。アプリの動作状態などを色で知らせる用途に利用できます。

各色は独立してオン・オフできます。別の色を点灯しても、すでに点灯している色は消えません。 赤と青を同時に点灯すると、紫になります。

メソッド引数戻り値
redLightEnable(boolean open)true:赤を点灯/false:赤を消灯なし(void)
greenLightEnable(boolean open)true:緑を点灯/false:緑を消灯なし(void)
blueLightEnable(boolean open)true:青を点灯/false:青を消灯なし(void)

使用例:赤だけを点灯する

ほかの色が残らないように、緑・青を消灯してから赤を点灯します。

mcs8.mdm.PolicyManager.greenLightEnable(false);
mcs8.mdm.PolicyManager.blueLightEnable(false);
mcs8.mdm.PolicyManager.redLightEnable(true);

使用例:赤と青を点灯して紫にする

mcs8.mdm.PolicyManager.greenLightEnable(false);
mcs8.mdm.PolicyManager.redLightEnable(true);
mcs8.mdm.PolicyManager.blueLightEnable(true);

使用例:すべて消灯する

mcs8.mdm.PolicyManager.redLightEnable(false);
mcs8.mdm.PolicyManager.greenLightEnable(false);
mcs8.mdm.PolicyManager.blueLightEnable(false);


IrCut・センサー

光感度値の取得を行います。

光感度値の取得

端末の光感度値を取得します。周囲の明るさに応じた処理を検討するときに参照する値です。

メソッド引数戻り値
getPhotosensitive()なし光感度値(int)

使用例

int photosensitive = mcs8.mdm.PolicyManager.getPhotosensitive();

システムの制御

機内モード、システム時刻、端末の電源状態を操作します。

通信や端末全体の動作に影響するため、処理中の通信・記録などへの影響を確認して使用してください。

機内モードの切り替えと状態取得

機内モードをオン・オフし、現在の設定状態を取得します。

メソッド引数戻り値
openAirplaneMode(boolean open)true:オン/false:オフなし(void)
getAirplaneModeState()なしtrue:オン/false:オフ(boolean)

使用例

// 機内モードをオン
mcs8.mdm.PolicyManager.openAirplaneMode(true);

// 現在の状態を取得
boolean isAirplaneModeOn =
        mcs8.mdm.PolicyManager.getAirplaneModeState();

システム時刻の設定

端末のシステム時刻を設定します。

メソッド引数戻り値
setSysTime(long millis)millis:設定する時刻。単位はミリ秒true:成功/false:失敗(boolean)

シャットダウン

端末をシャットダウンします。アプリだけを終了する操作ではありません。

メソッド引数戻り値
shutdownDevice()なし成功時にtrue(boolean)

使用例

// 実行すると端末をシャットダウンします
boolean result = mcs8.mdm.PolicyManager.shutdownDevice();

再起動

端末を再起動します。アプリだけを再起動する操作ではありません。

メソッド引数戻り値
rebootDevice()なし成功時にtrue(boolean)

使用例

// 実行すると端末を再起動します
boolean result = mcs8.mdm.PolicyManager.rebootDevice();

アプリの管理

APKファイルを指定したインストールと、パッケージ名を指定したアンインストールを行います。

アプリのサイレントインストール

端末内のAPKファイルを指定して、サイレントインストールを行います。

メソッド引数戻り値
installPackage(String pathToAPK)pathToAPK:APKファイルの完全なパスtrue:成功/false:失敗(boolean)

使用例

// 実際に配置したAPKファイルのパスに変更してください
String apkPath = "/実際の配置先/sample.apk";

boolean result =
        mcs8.mdm.PolicyManager.installPackage(apkPath);

※指定するのはダウンロードURLではなく、端末内にあるAPKファイルのパスです。

アプリのサイレントアンインストール

アプリのパッケージ名を指定して、サイレントアンインストールを行います。

メソッド引数戻り値
uninstallPackage(String appPackageName)appPackageName:削除するアプリのパッケージ名true:成功/false:失敗(boolean)

使用例

// 削除対象アプリの実際のパッケージ名に変更してください
String packageName = "com.example.targetapp";

boolean result =
        mcs8.mdm.PolicyManager.uninstallPackage(packageName);

※指定するのは画面に表示されるアプリ名ではなく、com.example.targetappのようなパッケージ名です。

通知バー・ステータスバーの制御

通知バーの利用可否と、ステータスバーの引き下げ可否を設定します。

通知バーの有効・無効と状態取得

通知バーを利用可能・利用不可に切り替え、現在の設定を取得します。

メソッド引数戻り値
setNotificationBarEnable(boolean enable)true:利用可能/false:利用不可なし(void)
getNotificationBarEnable()なしtrue:利用可能/false:利用不可(boolean)

使用例

// 通知バーを利用不可にする
mcs8.mdm.PolicyManager.setNotificationBarEnable(false);

// 現在の設定を取得
boolean isNotificationBarEnabled =
        mcs8.mdm.PolicyManager.getNotificationBarEnable();

※利用可能に戻す場合は、setNotificationBarEnable(true)を呼び出します。

ステータスバーの引き下げ可否の設定と状態取得

ステータスバーを引き下げられるかどうかを設定し、現在の設定を取得します。

メソッド引数戻り値
setStatusBarDropEnable(boolean enable)true:引き下げ可能/false:引き下げ不可なし(void)
getStatusBarDropEnable()なしtrue:引き下げ可能/false:引き下げ不可(boolean)

使用例

// ステータスバーを引き下げ不可にする
mcs8.mdm.PolicyManager.setStatusBarDropEnable(false);

// 現在の設定を取得
boolean isStatusBarDropEnabled =
        mcs8.mdm.PolicyManager.getStatusBarDropEnable();

※引き下げ可能に戻す場合は、setStatusBarDropEnable(true)を呼び出します。

ストレージ・USB

外部SDカードのパス取得と、USBディスクモードの切り替えを行います。

外部SDカードのパス取得

外部SDカードのパスを取得します。アプリから外部SDカード内のファイルを扱う際に、保存先・参照先を確認するために利用できます。

メソッド引数戻り値
getExternalSDCard()なし成功時:外部SDカードのパス(String)/失敗時:null

使用例

String sdCardPath =
        mcs8.mdm.PolicyManager.getExternalSDCard();

if (sdCardPath != null) {
    // 取得したパスを使う処理
} else {
    // パスを取得できなかった場合の処理
}

USBディスクモードの切り替えと状態取得

USBディスクモードをオン・オフし、現在の状態を取得します。

メソッド引数戻り値
openUsbDisk(boolean open)true:オン/false:オフなし(void)
getUsbDiskStatus()なしtrue:オン/false:オフ(boolean)

使用例

// USBディスクモードをオン
mcs8.mdm.PolicyManager.openUsbDisk(true);

// 現在の状態を取得
boolean isUsbDiskOn =
        mcs8.mdm.PolicyManager.getUsbDiskStatus();

ボタン操作・システム通知

カスタムボタンの操作や、バッテリー・電源に関する通知の定義をまとめています。

APIリファレンスが「アプリから端末を操作するための情報」であるのに対し、この章は「端末で発生した操作・状態変化をアプリが受け取るための情報」です。

カスタムボタンの操作通知

ボタン名は基本マニュアルに合わせて記載しています。通知を受け取った後に何を行うかは、アプリ側で実装します。

カスタムボタン/Video

押下・解放に対応するKeyEventの定義が記載されています。

操作定義
押下android.view.KeyEvent.ACTION_DOWN
解放android.view.KeyEvent.ACTION_UP

カスタムボタン/PIC

押下・長押しの通知が定義されています。

操作Broadcast Action
押下android.intent.action.PRESS_PIC_KEY
長押しandroid.intent.action.LONG_PRESS_PIC_KEY

カスタムボタン/Audio

押下・長押しの通知が定義されています。

操作Broadcast Action
押下android.intent.action.PRESS_RECORD_KEY
長押しandroid.intent.action.LONG_PRESS_RECORD_KEY

カスタムボタン/SoS

押下・長押しの通知が定義されています。

操作Broadcast Action
押下android.intent.action.PRESS_SOS_KEY
長押しandroid.intent.action.LONG_PRESS_SOS_KEY

カスタムボタン/PTT

押下・解放の通知が定義されています。ボタンを押している間と、離したときで処理を分ける場合に利用できます。

操作Broadcast Action
押下android.intent.action.DOWN_PTT_KEY
解放android.intent.action.UP_PTT_KEY

カスタムボタン/Fn

押下・長押しの通知が定義されています。

操作Broadcast Action
押下android.intent.action.PRESS_FN_KEY
長押しandroid.intent.action.LONG_PRESS_FN_KEY

バッテリーの装着・取り外し通知

バッテリーの装着・取り外しに対応する通知が定義されています。

状態変化Broadcast Action
バッテリー装着android.intent.action.BATTERY_IN
バッテリー取り外しandroid.intent.action.BATTERY_OUT

※充電ケーブルの接続・取り外し通知とは区別してください。

バッテリー状態の変更通知

バッテリーの残量など、状態の変化を監視するためのシステム通知です。

項目定義
Broadcast Actionandroid.intent.action.BATTERY_CHANGED
Android定数Intent.ACTION_BATTERY_CHANGED

シャットダウン通知

端末のシャットダウンに伴うシステム通知です。

項目定義
Android定数Intent.ACTION_SHUTDOWN

「シャットダウン」のAPIは端末に終了を指示するものですが、この通知は端末の終了をアプリ側で受け取るためのものです。

更新履歴

更新日更新内容
2026年11月09日APIリファレンスを初公開しました。