SensorManager

Il SensorManager è accessibile mediante una classe “manager”.
Per ottenere un elenco di sensori supportati dal tuo dispositivo si può utilizzare il metodo getSensorList:
sensors=mSensorManager.getSensorList(Sensor.TYPE_ALL); oppure verificare se un sensore è disponibile:  mGyroscope=mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
mAccelerometer=mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);




Ecco il codice per ottenere l’elenco dei sensori:

package com.example.test.activities;


import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.R;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import java.util.List;
import android.hardware.Sensor;
import android.hardware.SensorManager;






public class MainActivity extends AppCompatActivity {

private SensorManager mSensorManager;
@Override

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_item);


TextView tv;
tv =  findViewById(R.id.text1);
tv.setVisibility(View.GONE);

mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
List<Sensor> list= mSensorManager.getSensorList(Sensor.TYPE_ALL);

for (int i = 1; i <list.size(); i++) {
tv.setVisibility(View.VISIBLE);
tv.append( “\n”+list.get(i).getName() +”\n”+ list.get(i).getVendor()+ “\n”+list.get(i).getVersion());
}
}







@Override
public boolean onOptionsItemSelected(MenuItem item) {
     
int id = item.getItemId();


if (id == R.id.message) {
return true;
}
return super.onOptionsItemSelected(item);
}
}