Androidに搭載されているセンサー一覧を取得する方法

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

AndroidWearに搭載されている加速度センサーのメーカーと型番を調べる必要が出たので,
やってみます.
Androidスマートフォンでも同様です.

はじめに

SensorクラスにTYPE_ALLがあります.

TYPE_ALL
Added in API level 3

int TYPE_ALL

A constant describing all sensor types.
Constant Value: -1 (0xffffffff)

端末に搭載されているセンサー一覧を返すようです.

コード

実行端末の搭載センサーを表示するコードです.

mobile,wear どちらでもいけます.

package yokohama.mio.sensorlist;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

import java.util.List;

public class MainActivity extends Activity {
    private SensorManager manager;
    private final String TAG = MainActivity.class.getName();
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        manager = (SensorManager)getSystemService(SENSOR_SERVICE);
        }

    @Override
    protected void onResume() {
        super.onResume();
        List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ALL);
        String str = "SensorList:\n";
        for(Sensor s : sensors) {
            str += s.getName() + "\n";
            }
        TextView textView = (TextView) findViewById(R.id.text);
        textView.setText(str);
        Log.d(TAG,str);
        }
}

結果

実行すると,画面にセンサー一覧が表示されました.

ですが,スマートウォッチは画面が小さく,画面に収まらなかったので,
Logに出力しています.

D/yokohama.mio.sensorlist.MainActivity: SensorList:
LSM6DS3 3-axis Accelerometer
LSM6DS3 3-axis Gyroscope
BM1383GLV Pressure Sensor
huawei step counter
huawei wrist tilt gesture
huawei motion health
huawei step detector
huawei Gravity Sensor
huawei Linear Acceleration Sensor
huawei Rotation Vector Sensor
huawei Significant motion Sensor
huawei Game Rotation Vector Sensor

この方がコピペもできて便利です.

ちなみに加速度センサーはSTMicroelectronics社のLSM6DS3という6軸の加速度,ジャイロ兼用センサーでした.(HUAWEI WATCH)

参考にしたサイト

センサーの一覧を取得する|プログラマへの道 ~ Moonlight 明日香 ~

公式サイト

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

SNSでもご購読できます。

コメントを残す

*