Display an Android Sensors List

android, sensors

Solution

The constant `SensorManager.SENSOR_ALL` is deprecated and doesn't seem to work anymore.

Query the sensor list with `Sensor.TYPE_ALL` instead and it should work (my emulator returns a "Goldfish 3-axis Accelerometer").

Problem

I'm trying to display a list of available sensors but it's like there are not! I was thinking that it was because of the emulator, but i tried it on the phone and the result is the same. ``` private SensorManager mSensorManager; TextView mSensorsTot,mSensorAvailables; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Get the texts fields of the layout and setup to invisible mSensorsTot = (TextView) findViewById(R.id.sensoritot); mSensorAvailables = (TextView) findViewById(R.id.sensoridisponibili); // Get the SensorManager mSensorManager= (SensorManager) getSystemService(SENSOR_SERVICE); // List of Sensors Available List<Sensor> msensorList = mSensorManager.getSensorList(SensorManager.SENSOR_ALL); // Print how may Sensors are there mSensorsTot.setText(msensorList.size()+" "+this.getString(R.string.sensors)+"!"); // Print each Sensor available using sSensList as the String to be printed String sSensList = new String(""); Sensor tmp; int x,i; for (i=0;i<msensorList.size();i++){ tmp = msensorList.get(i); sSensList = " "+sSensList+tmp.getName(); // Add the sensor name to the string of sensors available } // if there are sensors available show the list if (i>0){ sSensList = getString(R.string.sensors)+":"+sSensList; mSensorAvailables.setText(sSensList); } } ```

Original source