Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
このページは Cloud Translation API によって翻訳されました。
Switch to English

センサー

AndroidセンサーHALアイコン

Androidセンサーは、アプリケーションがモバイルデバイスの基礎となる物理センサーにアクセスできるようにします。これらは、センサーのハードウェアアブストラクションレイヤー(HAL)であるsensor.hによって定義されたデータ提供仮想デバイスです。

Androidセンサーとは何ですか?

Androidセンサーは、加速度センサー、ジャイロスコープ、磁力計、気圧計、湿度、圧力、光、近接センサー、心拍数センサーなどの一連の物理センサーからのデータを提供する仮想デバイスです。

データを提供する物理デバイスのリストには、カメラ、指紋センサー、マイク、タッチスクリーンは含まれていません。これらのデバイスには、独自のレポートメカニズムがあります。分離は任意ですが、一般に、Androidセンサーはより低い帯域幅データを提供します。たとえば、加速度計では「100hz x 3チャネル」、カメラでは「25hz x 8 MP x 3チャネル」、マイクでは「44kHz x 1チャネル」などです。

Androidでは、さまざまな物理センサーをシステムオンチップ(SoC)に接続する方法を定義していません。

  • 多くの場合、センサーチップはセンサーハブを介してSoCに接続されており、データの一部の低電力監視と処理を可能にします。
  • 多くの場合、トランスポートメカニズムとしてInter-Integrated Circuit(I2C)またはSerial Peripheral Interface(SPI)が使用されます。
  • 電力消費を削減するために、特定のアーキテクチャは階層化されており、アプリケーション固有の集積回路(ASIC-加速度計チップでのモーション検出のような)で行われる最小限の処理と、マイクロコントローラー(センサーハブでのステップ検出のような)で行われる処理があります)。
  • 精度、電力、価格、パッケージサイズの特性に基づいてアーキテクチャを選択するのは、デバイスメーカーの責任です。詳細については、 センサースタックを参照してください。
  • バッチ処理機能は、電力最適化の重要な考慮事項です。詳細については、 バッチ処理を参照してください。

各Androidセンサーには、センサーの動作とセンサーが提供するデータを表す「タイプ」があります。

  • 公式のAndroid センサータイプは、 sensors.hでSENSOR_TYPE_…という名前で定義されています。
    • センサーの大多数には、公式のセンサータイプがあります。
    • これらのタイプは、Android SDKに記載されています。
    • これらのタイプのセンサーの動作は、Android互換性テストスイート(CTS)でテストされます。
  • メーカーがAndroidデバイスに新しい種類のセンサーを統合する場合、メーカーはそれを参照するために独自の一時的なタイプを定義できます。
    • これらのタイプは文書化されていないため、アプリケーション開発者はそれらを知らないか、またはほとんど存在しないことがわかっているため(この特定の製造元の一部のデバイスでのみ)、それらを使用することはほとんどありません。
    • CTSではテストされていません。
    • Androidがこの種類のセンサーの公式センサータイプを定義すると、メーカーは独自の一時タイプの使用を停止し、代わりに公式タイプを使用する必要があります。このようにして、センサーはより多くのアプリケーション開発者によって使用されます。
  • デバイスに存在するすべてのセンサーのリストは、HAL実装によって報告されます。
    • 同じタイプのセンサーが複数存在する場合があります。たとえば、2つの近接センサーまたは2つの加速度計。
    • ほとんどのアプリケーションは、特定のタイプの単一のセンサーのみを要求します。たとえば、デフォルトの加速度計を要求するアプリケーションは、リストの最初の加速度計を取得します。
    • センサーがしばしばで定義されているウェイクアップ非ウェイクアップペア、両方のセンサは、同じ型を共有し、彼らのウェイクアップ特性によって異なります。

Androidセンサーは、一連のセンサーイベントとしてデータを提供します。

イベントには以下が含まれます:

  • それを生成したセンサーへのハンドル
  • SystemClock.elapsedRealtimeNanos()基づいて、イベントが検出または測定されたタイムスタンプ
  • といくつかのデータ

報告されたデータの解釈は、センサーのタイプによって異なります。各センサータイプについて報告されるデータの詳細については、 センサータイプの定義を参照してください。

既存のドキュメント

開発者向け

メーカーを対象