[Android] Sensor 一覧を取得する

アンドロイドではサポートされるセンサー機能は20種類以上になりますが、端末に搭載されているかどうかは別です。

Android Studio
2021.2.1




Sensor

 

センサーに使われているデバイスも半導体メーカーによって特性が必ずしも同じではありません。特別なセンサーを使う場合は個別にチェックしないと想定した動きになりません。
 
1x1.trans - [Android] Sensor 一覧を取得する


 
 

センサーリスト

 センサー

の一覧です。

  1. TYPE_ACCELEROMETER
    • 加速度センサー
    • x軸、y軸、z軸の各々の加速度
  2. TYPE_ACCELEROMETER_UNCALIBRATED
    • 加速度センサー(生データ)
  3. TYPE_AMBIENT_TEMPERATURE
    • 周囲温度センサー
    • 端末周囲の温度
  4. TYPE_DEVICE_PRIVATE_BASE
  5. TYPE_GAME_ROTATION_VECTOR
    • 回転ベクトルセンサー(地磁気を除く)
    • 回転ベクトルセンサーから地磁気を除外したもので方位が不要なゲームでの利用を想定している
  6. TYPE_GEOMAGNETIC_ROTATION_VECTOR
    • 地磁気回転ベクトルセンサー
    • 回転ベクトルセンサーと同じだが低消費電力のためジャイロスコープの代わりに地磁気センサーを使用、ただしノイズが多い。屋外使用に適する
  7. TYPE_GRAVITY
    • 重力センサー
    • 重力加速度の計測
  8. TYPE_GYROSCOPE
    • ジャイロセンサー
    • x軸、y軸、z軸の回転速度、角速度
  9. TYPE_GYROSCOPE_UNCALIBRATED
    • ジャイロスコープ(生データ)
    • ジャイロドリフトなどを補正しない生データ
  10. TYPE_HEART_BEAT
    • 心拍検出
  11. TYPE_HEART_RATE
    • 心拍数
    • 1分間の心拍数
  12. TYPE_LIGHT
    • 照度センサー
    • 周囲の明るさを計測
  13. TYPE_LINEAR_ACCELERATION
    • 加速度センサー(重力を除く)
    • x軸、y軸、z軸、各々の加速度を重力加速度を差し引いた値
  14. TYPE_LOW_LATENCY_OFFBODY_DETECT
    • 体が離れたことを検知するセンサー
  15. TYPE_MAGNETIC_FIELD
    • 地磁気センサー
    • x軸、y軸、z軸方向の磁気の強さを計測
  16. TYPE_MAGNETIC_FIELD_UNCALIBRATED
    • 地磁気センサー(生データ)
    • キャリブレーション無しの地磁気生データ
  17. TYPE_MOTION_DETECT
    • 動作継続検出
    • 動きが5秒、10秒継続的かどうか検出
  18. TYPE_POSE_6DOF
    • 回転ベクトルセンサーを更に拡張してたもので、ARなどに使用を想定される youtube
  19. TYPE_PRESSURE
    • 気圧センサー
    • いわゆるヘクトパスカル[㍱]を計測
  20. TYPE_PROXIMITY
    • 近接センサー
    • 端末スクリーンとの距離、あるいは近い・遠い
  21. TYPE_RELATIVE_HUMIDITY
    • 相対湿度センサー
    • 周囲の温度と共に周囲の湿度を計測
  22. TYPE_ROTATION_VECTOR
    • 回転ベクトルセンサー
    • 傾き計測、傾きセンサーよりも精度が高い
  23. TYPE_SIGNIFICANT_MOTION
    • 動作検出センサー
    • 静から動きを検出するウェイクアップセンサー
  24. TYPE_STATIONARY_DETECT
    • 静止の検出
  25. TYPE_STEP_COUNTER
    • 歩行センサー
    • rebootからの歩数をカウント
  26. TYPE_STEP_DETECTOR
    • 歩行検出センサー
    • 歩行でトリガーがかかる

 

 

サンプルコード

 

端末のセンサーリストを表示して、この端末で使用できるか確認するコードです。

全てのセンサーのリストとそれが使用できるかをフラグで別に出してみることもできます。

MainActivity.java

 
レイアウトです
activity_main.xml

 
センサー機能は端末次第なので、Androidだからすべてのセンサーがあるとは限らないからです。
 

1x1.trans - [Android] Sensor 一覧を取得する

 
 
関連ページ:

References:
Sensor
SensorEvent
SensorManager
Motion Sensors

シェアする

  • このエントリーをはてなブックマークに追加

フォローする