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); } }
Go to the activity_main. xml file which represents the UI of the application, and create a TextView inside a ScrollView that shall list the sensors present in the device. Below is the code for the activity_main. xml file.
The Android smartphone provides two sensors that let you determine position of device- geomagnetic field sensor with combination of accelerometer sensor. This sensor works in controlling brightness level of screen.
Open the app and tap the Diagnostic button on the home screen. Tap the individual icons to run diagnostic tests on the battery, SIM card, sensors, touch screen, flashlight, camera, microphone, speaker, Bluetooth, Wi-Fi, and more. Alternatively, tap the Test all button to perform all the tests one after the other.
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").
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With