Я хочу знать, какие датчики у данного устройства Android. До уровня API 20 был недоступен sensor.getTypeString(). Однако я могу получить целочисленный тип, используя sensor.getType().Получение типа датчиков на устройстве Android (до уровня API 20)
Я могу составить список типов («TYPE_ACCELEROMETER», «TYPE_AMBIENT», ...), но каким-то образом мне нужно определить значение Sensor.XXX для каждого типа.
Я предположил, что выражение типа Sensor [sensorType] (где sensorType - это строка, такая как «TYPE_ACCELEROMETER»), будет работать, но Java не согласна со мной в этом вопросе. Он жалуется, что датчик не является переменной.
Я знаю, что я мог бы использовать switch
заявление или серию if
заявлений (псевдокод):
int type = sensor.getType();
if (type == Sensor.TYPE_ACCELEROMETER) {
return "TYPE_ACCELEROMETER";
} else if (type == TYPE_AMBIENT) {
return "TYPE_AMBIENT";
} else
...
}
Можете ли вы порекомендовать более элегантный способ достижения этой цели?