センサーを調べてみる 2020/11/03
加速度センサーを使って歩数計を作ってみました。 他のセンサーを使って何か面白いものはできないか?実装されているセンサーは機種によってちがいます。自分のスマフォにどんなセンサーが実装されているかを知るためのアプリを作りました。

Xperia Aceのセンサーを表示しています。全部で46あります。本当に46のセンサーが使えるか?わかりません。もしかしたら実装されているかに関係ない全部のセンサーのリストかな?と思ったのですが、例えば照度センサーなどありません。そうすると全センサーのリストを表示していないようです。また、気圧センサーなどがあり本当?と思ってしまいます。
機能の実装は簡単でした。
MainActivity.java

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv = findViewById(R.id.tvSensor);
        SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        List list = manager.getSensorList(Sensor.TYPE_ALL);
        String str;
        Sensor sn;
        int size = list.size();
        tv.setText("Sensor size = " +  size + "\n");;
        for(int i = 0; i < size; i++){
            sn  = (Sensor)list.get(i);
            int type = sn.getType();
            str = String.format("%2d ", i + 1) + String.format("%2x ", type) + " " + sn.getName();
            tv.append(str + "\n");
        }
     }
	
manager.getSensorList(Sensor.TYPE_ALL);で全センサーのリスト取得します。
sn  = (Sensor)list.get(i);リストにあるセンサーを取得します。

テキストビューに連番、センサータイプ、センサーネームを出力します。
ソースファイル:DetectSensor.zip