開発マニュアル

バージョン

改訂日

改訂内容

バージョン1.0.2

2020/4/7

本SDKを適用できるデバイスタイプを追加

バージョン1.0.3

2020/5/12

ドアアクセス機能の紹介を追加

バージョン1.2.0

2020/10/14

顔の温度検知機能の紹介を追加

バージョン2.0.0

2021/02/05

カメラの呼び出しプロセス、およびサーモカメラの呼び出しプロセスの紹介を追加。顔の温度検知機能に関連するインターフェースの記載を更新

バージョン2.0.0

2021/04/10

デバイス名を修正

Thunder SDK開発マニュアル

Thunder SDK(以下、「SDK」)は、AI顔認証アルゴリズムおよびその派生機能をベースにした Android 向けSDKで、JCVインテリジェントハードウェアデバイス(以下、「ハードウェアデバイス」)を実行キャリアとして採用します。生体検知、1:N顔認証、1:1顔認証、顔温度検知、マスク検知、アクセスコントロールなどの機能を迅速に開発するために使用できます。

本ドキュメントは主に開発エンジニアを対象として書かれており、SDKのインテグレーション手順や機能の使用方法を説明しています。

SDKのビジネス機能について

SDKはデバイスのカメラで顔をキャプチャして顔認証を行うといった、オフラインでの顔認証に使用できます。一般的な流れは次のとおりです。

一般的なプロセスを踏まえると、顔の照合には1対1の場合と1対Nの場合があるため、1:1認証と1:N認証に細分化されます。それぞれ異なるシナリオで使用され、1:1認証は後ほど定義するような1:NでNを1と設定する場合とは異なります。

カメラの呼び出し

カメラに素早くアクセスしてプレビューコールバックデータを取得したり、カメラのライフサイクルを管理するメソッドをカプセル化など、カメラのステータスを監視する機能をサポートしています。

サーマルイメージングシステムの呼び出し

  • 交通現場で使用されるサーマルイメージングシステムの特徴として、サーマルイメージングシステムのプレビューおよびデータのコールバック、ライフサイクルの管理、ステータスの監視、ホットプラグ後の自動接続などが挙げられます。

  • 対応するサーマルイメージングシステムのモデルは、Arrow、Guide120、Guide256です。

1:1認証

  • 「1:1認証」は、「あなたがあなたであること」を証明するプロセスです。具体的には、特定の身元情報をシステムが保持している場合、カメラ画面に映っている人物の顔情報と保存している身元情報が一致するかを判断します。

  • 銀行、携帯キャリアショップでの本人確認や駅・空港、ホテル、インターネットカフェなどで認証が必要な状況など、個人の認証が必要とされるシナリオでよく使われる認証操作です。

1:N認証

「1:N認証」とは、認証対象の顔画像セットをローカルの顔フィーチャーライブラリに登録しておき、カメラが顔情報を取得した際にライブラリ内の顔フィーチャーセットと比較することで、認証結果を導き出します。

  • コミュニティやオフィスビル、学校などでのアクセスコントロールや勤怠確認、複数人を認証する必要がある状況でよく使われます。

マスク検知

「マスク検知」は、カメラでキャプチャした顔情報を解析することで、マスクを着用しているかを迅速に検知します。病院や製造工場、粉塵の多い建設現場など、マスクが必要とされる場面で活用されています。

サーバーサイドの1:N認証

前述した一般的な1:N認証プロセスにおいては、顔の照合はローカルでもリモート(HTTPネットワークリクエスト経由)でも実行可能です。リモートで実行する場合、比較ロジックをユーザー自身が実装する必要があり、本機能の実装には顔認証バックエンドサーバーがあることが前提となります。

ドアアクセス機能

「ドアアクセス機能」は、SDKのドアアクセスデバイスのコントロール機能を指します。ハードウェアデバイスによって、ドアアクセスデバイスのサポート範囲が異なります。対応関係を説明するために、次のように概念を定義します。

  • ドアアクセスデバイス」 - SenseTimeのハードウェアデバイスに含まれるハードウェアアクセサリーや、ハードウェア拡張インターフェースにより接続して使用できる周辺機器などのすべてのデバイスの総称。

    • ハードウェアアクセサリ:スクリーンバックライト、IRフィルライト、照明センサー、距離センサー、ブザー、ローカルリレー、ラウドスピーカー、強制解体アラートボタンなど。

    • 周辺機器:ドアオープンボタン、消防アラートシグナル、ドアマグネット、ドアベル、アラート、Wiegandカードリーダー、ネットワークリレー、Wiegandドアオープンコントローラーなど。

  • ドアアクセス機能」 -主に「ドアアクセスデバイス」を使用することを指し、ローカルリレーによるドアのオープン、Wiegandコントローラーによるドアのオープン、スクリーンフィルライトの消灯、ドアベルの鳴動制御、距離センサーによる人体の距離検知などの機能を含む。

SDKの「ドアアクセス機能」のサポート範囲は、ハードウェアデバイスによって異なります(次の表ではハードウェアの観点ではなく、SDKでの対応の観点でのみ記載しています)。

デバイスモデル

オープンボタン

消防アラートシグナル

ドアセンサー

ドアベル

アラート

SensePass

SenseThunderE-mini

SenseThunderE

SenseThunderAir

デバイスモデル

Wiegandリーダー

Wiegandコントローラー

ローカルリレー

ネットワークリレー

SensePass

SenseThunderE-mini

SenseThunderE

SenseThunderAir

デバイスモデル

ブザー

赤外線人感センサー

距離センサー

照明センサー

IRフィルライト

SensePass

×

SenseThunderE-mini

×

SenseThunderE

×

×

SenseThunderAir

×

×

デバイスモデル

RGBフィルライト

スクリーンバックライト

スピーカー

盗難アラートボタン

NFCリーダー

SensePass

×

×

×

SenseThunderE-mini

×

×

×

SenseThunderE

×

×

SenseThunderAir

×

×

本ドキュメントでは、説明のために以下のように定義しています。

  • Passアクセスコントロール機能:PassとThunderシリーズ(上記デバイスモデル)のその他のデバイスで使用されるアクセスコントロール機能のこと。

なお、アクセスコントロール機能の使用について説明する場合、以下のように異なるデバイスにおける違いにご注意ください。

QRコード認証

「QRコード認証」とは、QRコードの内容を解析する機能のことで、QRコードの認証が必要なシナリオで使用されます。SDKには2つのコーデックライブラリZXingZBarが組み込まれており、使用時に選択できます。

顔の温度検知

「顔の温度検知」とは、顔認証機能と温度検知モジュールを介して、顔および熱力学線図のデータをアルゴリズムにより処理し、顔の温度を取得することです。現在サポートされている温度検知モジュールは、Arrowモジュール、Guide120モジュール、およびGuide256モジュールです。なお、顔の温度値は、周囲の温度、モジュールのモデル、使用方法などによって異なる場合がありますのでご注意ください。

SDKに適したデバイスについて

デバイスモデル

デバイスカテゴリ

プラットフォーム

Android バージョン

カメラタイプ

SensePass

Pass シリーズ

RK3399-arm64-v8a

Android 7.1

RGB 顔 + IR

SenseThunderE

Thunder シリーズ

RK3399-arm64-v8a

Android 7.1

RGB 顔 + IR + サーモ

SenseThunerE-Mini

Thunder シリーズ

RK3399-arm64-v8a

Android 7.1

RGB 顔 + IR + サーモ

SenseThunderAir

Thunder シリーズ

RK3399-arm64-v8a

Android 7.1

RGB 顔 + IR + サーモ

顔カメラによる撮影について

カメラによる撮影について説明するために、次のように定義します。

  • 水平方向の画像: 撮影した写真の幅が、高さよりも広いことを意味します。

  • 垂直方向の画像: 撮影した写真の幅が、高さよりも狭いことを意味します。

  • 画像のミラーリング: カメラ画像において、被写体の実際の移動方向と写真の表示方向が逆になっていることを示します。人が左方向に歩いている場合、プレビュー画面では右に向かって進んでいるように表示されます。

  • 顔の方向: カメラ画像において顔が向いている方向を指し、次のように左から順に上向き、下向き、左向き、右向きとなります。

次の表では、特定のデバイスモデルに対応する顔カメラの画像の特性を示します。

デバイスモデル

撮影方向

顔の方向

画像のミラーリング

SensePass

垂直方向の画像

左向き

いいえ

SenseThunderE

垂直方向の画像

左向き

いいえ

SenseThunderE-Mini

垂直方向の画像

左向き

いいえ

SenseThunderAir

垂直方向の画像

左向き

いいえ

アクセス手順

SDKは、.aarパッケージ.soファイルアルゴリズムモデルファイルサンプルプロジェクト開発ドキュメントを含むzip形式のパッケージファイルとして提供されます。SDKは次の環境で動作します。

環境項目

説明

デバイス

SensePass, SenseThunderE, SenseThunderE-Mini, SenseThunderAir

Android バージョン

Android 7.1以上のバージョンと互換性があります。

SDKのアクティベーション

インテリジェントハードウェアでアプリケーションを動作させるためには、承認された.lic形式のライセンスファイルを申請する必要があります。

IDE 環境

Android Studio 3.5.3 以上のバージョン

インテグレーションの開始

  1. 次の図のように、.aarファイルをproject libsフォルダにコピーします。

  1. 次の図のように、デバイスタイプに応じて、zipパッケージのmodel fileフォルダ内の対応するモデルファイルを選択します。

デバイスタイプ

対応するモデル

Pass シリーズ

model フォルダのルートにある .model ファイル、および pass_extフォルダ内のすべてのファイル

Thunder シリーズ

model フォルダのルートにある .model ファイル、および pass_extフォルダ内のすべてのファイル

zipパッケージ内の対応するモデルファイルを、実際のプロジェクトのassetsおよびmodelフォルダにコピーします。

  1. 次の図に示すように、デバイスタイプに応じて、パッケージのso libraryフォルダ内の対応するsoライブラリを選択します。

デバイスタイプ

対応する so

Pass シリーズ

Pass-series-rk3399-general(arm64-v8a のみ)

Thunder シリーズ

Pass-series-rk3399-general(arm64-v8a のみ)

次に、フォルダ内のsoを/src/main/jniLibsフォルダにコピーします。

  1. build.gradleファイルに次の設定を加えます。

  1. AndroidManifest.xml ファイルに、次のように権限の宣言を追加します。

  1. 次のサンプル画像のように、.lic形式のライセンスファイルをassetsフォルダにコピーします(サンプル内には、テストにのみ使用できるデバッグ用のライセンスファイルが提供されています。正式な本番環境用には、別途ライセンスファイルを申請する必要があります)。

サンプルプロジェクト

サンプルプロジェクトは、Android Studioで開くことができます。ドキュメントに従って、aar、model、soやその他のファイルを対応するフォルダにコピーし、PassシリーズやThunderシリーズのハードウェアデバイスでデバッグを実行してください。サンプルプロジェクトは、主に1:N認証、1:1照合、マスク検知、アクセスコントロール、その他の機能の使用方法を示します。

SDKの使用方法

本セクションでは、SDKの主要なAPIとプロセスの使用方法を中心に説明します。

SDKの初期化

SDKを使用する前に、aar、model、so、.licの各ファイルが正しく保存され、設定されていることを確認します。ファイルの準備が完了したら、次の手順で初期化を行います。

アクティベーションは初期化に成功した後に行うことができ、初回のアクティベーション時は、次のようにパブリックネットワークの認証に接続する必要があります。

通常、SDKのアクティベーション成功後は、アプリケーションを終了する前に解放操作を実行する必要はありません。具体的にアプリケーションを再起動する必要がある場合、次のようにアプリケーションの終了時にSDKリソースを解放することができます。

カメラの呼び出し

SDKのCameraTextureViewおよびCameraManagerクラスを使用すると、カメラのライフサイクルや関連するプレビュー操作を簡単に管理することができます。以下は、顔カメラ(RGB)を使用した使い方を紹介した例です。CameraTextureViewは、次のようにレイアウトファイルで使用できます(全画面プレビュー)。

次にカメラの初期化を行います。詳細については、下記コードをご参照ください。プレビュー解像度は1280✕720ピクセルを推奨します。

次のように、カメラのライフサイクルを制御します。

サーマルイメージングシステムの呼び出し

サーモカメラの関連インターフェースを呼び出す前に、サーモカメラのインスタンスを取得してください。SDKではサーマルイメージングシステムの様々なインスタンスを取得するために、次のようにTemperatureCameraFactoryが提供されています。

サーマルイメージングシステムの設定を初期化します。

熱力学線図、および温度データのコールバックを追加します。

サーマルイメージングシステムのステータスを部分的に取得します。

サーマルイメージングシステムのライフサイクルを管理します。

SDKでは上記に加えて、サーマルイメージングシステムを操作するために多数の方法が提供されています。次の操作方法は一例です。

1:N認証の流れ

顔認証のビジネスプロセスには、カメラの管理、顔特徴量ライブラリの作成、生体検知、顔比較、結果の処理などのいくつかのステップがあります。ここでは「1:N認証」を例に、SDKの使用方法を説明します。

顔フィーチャーライブラリの作成

1:N認証では顔フィーチャーを検索するための「データベース」として、顔フィーチャーライブラリが必要です。そのため、処理を開始する前にライブラリを構築する必要があります。SDKには顔フィーチャーライブラリを作成するためのFeatureManagerProxyが用意されており、次のように簡単に利用することができます。

N個の顔フィーチャー(最大は5W)をフィーチャーライブラリに挿入できます。構築が完了したら、人物認証プロセスの際にIdentify Managerは'FeatureManagerProxy'の挿入された顔フィーチャーデータを自動的に取得し、認証を行います。

カメラプレビューの開始

「カメラの呼び出し」を参照して、RGBカメラをオンにします。生体検知が有効になっている場合はIRカメラを再度オンにし、プレビューデータがIdentify Managerに渡されるように、データのプレビューコールバックを次のように変更する必要があります。

Identify Manager の開始

Identify Managerには「1:N」「1:1」および「サーバーサイド1:N」認証処理が組み込まれており、モードを切り替えることで内部の認証ロジックを変更することができます。Identify Manager のモードは次のとおりです。

  • VerifyModeEnum.MODE_1_N: 1:N認証モード。1:N認証処理に対応。

  • VerifyModeEnum.MODE_1_1: 1:1認証モード。1:1認証処理に対応。

  • VerifyModeEnum.MODE_SERVER_1_N: サーバーサイド1:N認証モード。サーバーサイドの1:N認証処理に対応。

使用前に、次のように設定します。

初期設定の完了後、次のように Identify Managerのオンまたはオフを切り替えることで、認証を制御することができます。

認証処理の詳細はパラメーターによって制御することができます。Identify Managerのパラメーターは特定のビジネスシナリオに応じて、次のように個別に設定できます(下記コードアノテーションでは、PassやThunderシリーズと異なるシリーズの注意事項がある場合、適宜読み飛ばしてください)。

認証結果の処理

Identify Managerはコールバックインターフェースにより、認証結果を上位ビジネス層に送信します。上位ビジネス層では、次のようにコールバックインターフェースで結果を処理してください。

結果のコールバックが不要な場合は、次のようにNULLを設定します。

この時点で「1:N認証」プロセスが構築されています。

1:1認証処理

上記に説明したとおり、「1:N認証」処理の場合、Identify ManagerはVerifyModeEnum.MODE_1_Nモードを使用します。顔の「1:1認証」処理の場合、次に示す方法で「1:1認証」モードに切り替える必要があります。

サーバーサイドの1:N認証

リモートサーバー上で認証処理を実行する場合は、Identity Managerの設定を変更して、1:N認証に基づいたサーバーサイド認証を有効にする必要があります。次に、IServerVerifyAction クラスを使用して、認証ロジックを実装します。具体的な使用方法は次のとおりです。

マスク検知

「1:N」「1:1」および「サーバーサイドの1:N」認証に基づいてマスク検知を有効化すると、認証結果から対応するマスク検知結果を取得します。マスク検知機能が有効になっていない場合でも、デフォルトでマスク検知結果はtrueと返されます。次の手順で検知機能を有効化します。

顔の温度検知

顔の温度検知機能を使用する前に、「1:N」「1:1」および「サーバーサイド1:N」認証に基づいて、次のようにIdentity Managerの温度検知設定の項目を有効にする必要があります。

注意すべき点として、温度検知機能が有効な場合、Identify Managerが正常に動作するためには温度データが必要なことです。温度データが取得されるまでは認証は行われませんが、顔のトラッキングは正常に行われます。また、温度検知機能が有効な場合は次のように顔認証用の枠を設定し、正面からの顔の角度が鋭く表示されるようにして、カメラの視野の中央で顔を認証することを推奨します。これにより、顔認証および温度検知の精度が向上します。

温度検知機能には、温度検知モジュール(サーマルイメージングシステム)が必要です。TemperatureCameraFactoryクラスを介して対応するサーマルイメージングシステムオブジェクトを取得することで初期化できます。サーマルイメージングシステムの初期化には数秒かかりますのでご注意ください。

温度データの取得後、温度検知アルゴリズムによって温度値を調整する必要があります。アルゴリズムは次の手順で手動で初期化する必要があります。

Identity Manager に Temperature Sdk Action を設定します。

サーモカメラプレビューデータを取得します(熱力学線図)。温度データを取得したら、間に合うようにIdentify Managerに挿入する必要があります。

認証コールバック結果から、個人の体温データを取得します。

Passアクセスコントロールの使用

Passアクセスコントロール機能を使用するには、グローバル初期化設定が必要です。初期化手順は次のとおりです。

Passアクセスコントロール機能を使用するための設定は、DoorDeviceAccessProxy.setConfig(config)で変更できます。

Passアクセスコントロール機能の主要なカテゴリ:

  • DoorDeviceAccessProxy:グローバルな初期化、リソースの解放、設定の使用、ドアのオープンコントロールなどを行います。

  • DoorAccessConfig:ドアアクセス設定のカテゴリです。

  • PassDoorDeviceAccessProxy:ドアチャイム、RS485 プロトコル、アラート、盗難アラートライトなど、PassやThunderシリーズデバイスで利用可能なアクセスコントロール機能を管理します。

ローカルリレー経由のドアオープン

「ローカルリレー」は、独自のアクセサリが付属したハードウェアデバイスで、ドアのオープンコントロールやドアオープン時間の設定に使用されます(ドアを開いて数秒後に閉じるなど)。本機能をサポートするハードウェアモデルは、PassとThunderシリーズです。

Passアクセスコントロール機能の使い方は次のとおりです。

DoorDeviceAccessProxy.openDoor()は、設定されたドアオープンの方法とクローズを遅延させる時間を自動的に取得し、自動的にドアオープン操作を実行します。利用者は具体的なオープン方法を気にする必要はなく、メソッドによって自動的に制御されます。次に示すネットワークリレーやWiegandコントローラーによるドアオープンの場合も同様です。

特にクローズ遅延時間を30秒を超えて設定する必要がある場合、次の方法でドアを開く必要があります。

ローカルリレーをすぐに閉じる必要がある場合、手動で次のメソッドを呼び出せます。

ネットワークリレー経由のドアオープン

「ネットワークリレー」は周辺機器です。ハードウェアデバイスはネットワークを介してネットワークリレーに接続し、ネットワークリレーにドアのオープンコマンドを送信することでドアオープン時間やクローズ遅延時間を制御します。本機能に対応するハードウェアモデルは、PassとThunderシリーズです。

Passアクセスコントロール機能は、次のように使用します。

Wiegand コントローラー経由のドアオープン

「Wiegand コントローラー」は拡張インターフェースを介してハードウェアデバイスに接続し、データ通信にWiegandプロトコルを使用する周辺機器です。ドアオープンを制御することができます。SDKでは現在、Wiegand 26、Wiegand 32、およびWiegand 34に対応しています。本機能に対応するハードウェアモデルはPassとThunderシリーズです。

標準的なWiegand 26プロトコルでサポートされている最大カード番号は8ビットで、カード番号のデータ転送はHIDとPIDに分かれています。HIDとPIDの生成モードに応じて、Wiegand 26は、「Wiegand 26(24 ビット)」および「Wiegand 26(8および16ビット)」の2種類のモードに分かれます。相違点は次のとおりです。

  • Wiegand 26(24 ビット): 通常使用するモードで、カード番号は int に変換され、2^16で割って整数にしたものがHIDになり、2^16の余りがPIDとなります。

  • Wiegand 26(8 および16 ビット): 特別に使用するモードで、カード番号の最初の3桁がHIDとしてintに変換され、最後の5桁がPIDとしてintに変換されます。

Passアクセスコントロール機能の使い方は次のとおりです。

  • Wiegand 26経由のドアオープン

  • Wiegand 32 または 34 経由のドアオープン

Wiegand カード読み取り

「Wiegand カード読み取り」は、周辺機器であるWiegandリーダーを使用して設定する必要があります。拡張インターフェースを介してデバイスと接続し、データ通信にWiegandプロトコルを使用してICカードの番号を読み取ります。Wiegand 26、Wiegand 32、およびWiegand 34に対応しています。本機能に対応するハードウェアデバイスのモデルは、PassとThunderシリーズです。

Passアクセスコントロール機能の使い方は次のとおりです。

設定の完了後、Wiegand読み取りコールバックをlistenすることができます。コードの使い方は次のとおりです。

GPIO入力デバイス

「GPIO 入力デバイス」は、GPIOポートを介して接続されたハードウェアデバイスにGPIO信号を送信するデバイスの一種であり、ドアオープンボタン、消防アラートシグナル、ドアマグネットなどが含まれます。使用時には、ハードウェアデバイスが受信側、GPIO入力デバイスが送信側となり、GPIO入力ポートを介して通信します。本機能に対応するハードウェアデバイスのモデルは、PassとThunderシリーズです。

Passアクセスコントロール機能は、BポートとCポートに分かれたデュアルGPIOに対応しています。使用前に関連するアクセスコントロールの設定を次のように行います。

設定の完了後、関連する信号入力をlistenすることができます。コードの使い方は次のとおりです。

GPIO出力デバイス

「GPIO出力デバイス」は、ドアベルやアラートなどのハードウェアデバイスからGPIO信号を受信するために、GPIO出力ポートを介して接続された周辺機器を指します。使用時には、ハードウェアデバイスが送信側、GPIO出力デバイスが受信側となり、両者はGPIO出力ポートを介して通信します。本機能に対応するハードウェアデバイスのモデルは、PassとThunderシリーズです。

使用前に、関連するアクセスコントロールの設定を次のように行います。

アラートの使用時には、具体的に手動でアラートを制御したり、オフにしたりする必要があります。コードの使い方は次のとおりです。

照明コントロール

「照明コントロール」とはRGBフィルライト、IRフィルライト、スクリーンバックライトなど、主にハードウェアデバイスの照明アクセサリを制御します。

IRフィルライト

「IRフィルライト」はIRカメラモジュールの一部で、IR画像を向上させるために使用されます。フィルライトの耐用年数を延ばすために、使用していないときは電源を切るように動的に制御できます。本機能に対応するハードウェアデバイスのモデルは、PassとThunderシリーズです。

コードの使い方は次のとおりです。

スクリーンバックライト

「スクリーンバックライト」はハードウェアデバイスに付属するアクセサリで、ソフトウェアアプリケーションが休止状態(ソフトウェアアプリケーションが使われていない深夜帯など)のときにスクリーンライトを消すことで、ハードウェア機器の耐用年数を延ばし、エネルギー消費を抑えることができます。本機能に対応するハードウェアデバイスのモデルは、PassとThunderシリーズです。

コードの使い方は次のとおりです。

RS485 プロトコル

「RS485 プロトコル」とはシリアル通信のプロトコル規格です。RS485インターフェースは、半二重モードでの通信に対応するためにハードウェアデバイスに用意されています。半二重データの読み取り専用および書き込み専用はファームウェアによって自動的に制御されるため、上位ビジネス層ではシリアル通信にのみ注意するだけで済みます。本機能に対応するハードウェアデバイスのモデルは、PassとThunderシリーズです。

使用前にまずRS485をオンにしてから、ユースケースに応じてボーレート、データバッファ、およびデータトランシーバーのタイムアウト時間を設定します。コードの使い方は次のとおりです。

データを送信するには、次のコードを使用します。

盗難アラートボタン

「盗難アラートボタン」はハードウェアデバイスに付属しているアクセサリで、デバイスの背面に持ち上げ型ボタンで配置されています。通常動作時にボタンを押すと、ハードウェアデバイスが取り外されたときにボタンがポップアップします。ハードウェアデバイスが不正に取り外された場合は、ファームウェアレベルで感知して、警告のために 「盗難アラート」を発します。

ファームウェアレベルでは「盗難アラートボタン」をF2キー入力イベントに変換します。すなわち「盗難アラート」が鳴るとシステム層はF2キー入力イベントを送信します。F2キーの入力イベントであるため、F2キーが押されたかどうかをlistenすれば、「盗難アラートボタン」をlistenすることができます。コードの使い方は次のとおりです。

センサー

「センサー」とは照明センサーや距離センサーなど、ハードウェアデバイスに付属するセンサーを指します。通過シナリオの場合、センサーの役割は次のとおりです。

  • 照明センサー:光の強度を感知し、光量の少ない環境ではアプリケーション用に 「フィルライトモード」を設定できます。

  • 距離センサー:人の接近を感知し、特定の動作を引き起こします(例えば、人が近づくと休眠状態のデバイスを起動します)。

センサーは次のように、AndroidネイティブSDKのSensorManagerクラスで利用できます。

ブザー

「ブザー」はハードウェアデバイスに付属するアクセサリで、主にハードウェアデバイスでアラートが発生したときにビープ音を鳴らすために使用されます。現在、SensePass、SenseThunderE-miniデバイスのみがこの機能をサポートしています。ブザーを使用するには、次に示すコードでオンとオフを手動で制御する必要があります。

アプリケーションシステム署名

SDKのサンプルプロジェクトには、システム署名ファイルsensetime.jksが配置されています。このファイルをアプリケーション署名として使用すると、プリケーションがシステム権限を取得でき、システムイベントの設定やシステム設定の変更などの高いレベルの権限を必要とする操作を実行できるようになります。

使用するにはプロジェクト内のメインモジュールのルートにsensetime.jksをコピーしてから、次の設定をbuild.gradleファイルに追加します。

また、次のようにシステムアプリケーション宣言android:sharedUserId="android.uid.system"をAndroidManifest.xmlファイルに追加します。

QRコード認証

QRコード認証機能は、通常のQRコードを認識することができる機能です。使用する際にはエンコードおよびデコードライブラリとしてZXingまたはZBarを選択できます。エンドツーサイドでのデバイス認証に適していて、より高速なZBarの使用を推奨します。使用方法については,サンプルコードをご覧ください。簡単な使い方は次のとおりです。

最終更新

役に立ちましたか?