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 Action | android.intent.action.BATTERY_CHANGED |
| Android定数 | Intent.ACTION_BATTERY_CHANGED |
シャットダウン通知
端末のシャットダウンに伴うシステム通知です。
| 項目 | 定義 |
|---|---|
| Android定数 | Intent.ACTION_SHUTDOWN |
「シャットダウン」のAPIは端末に終了を指示するものですが、この通知は端末の終了をアプリ側で受け取るためのものです。
更新履歴
| 更新日 | 更新内容 |
|---|---|
| 2026年11月09日 | APIリファレンスを初公開しました。 |

