関数を渡すType.All
と、getSensorList
使用可能なすべてのセンサーのリストが取得されます。
次に、リストを走査して、センサー タイプの方向 (整数値は 3) が見つかった場合、すべてのセンサーのセンサー タイプをフェッチし、そのデバイスにそのセンサーがあると結論付けることができます。
以下は、同じコードのスニペットです。
boolean OrientationSensorFound=false;
SensorManager mSensorManager;
Sensor mSensor;
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
List<Sensor> mSensorList = mSensorManager.getSensorList(Sensor.TYPE_ALL );
for(int i=0;i<mSensorList.size();i++){
// 3 is value for Orientation sensor
if(Sensor.TYPE_ORIENTATION==mSensorList.get(i).getType()){
OrientationSensorFound=true;
break;
}
}
Log.i("Sensor Found", "Orientation found : "+OrientationSensorFound);