Как я могу получить имя датчика? - PullRequest
4 голосов
/ 14 ноября 2011

Я хочу программно получить имя Sensor.Назовите имя датчика внешней освещенности.

Как я могу получить его имя?

Ответы [ 3 ]

8 голосов
/ 14 ноября 2011

Используйте диспетчер датчиков для запроса (всех или определенных типов из) доступных датчиков. Затем используйте Sensor.getName(), чтобы получить имя отдельного датчика.

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

for(Sensor s : list) {
    Log.d("SENSORS", s.getName());
}

Пример вывода из приведенного выше фрагмента:

11-14 12:26:47.549: D/SENSORS(911): BMA150 3-axis Accelerometer
11-14 12:26:47.559: D/SENSORS(911): AK8973 3-axis Magnetic field sensor
11-14 12:26:47.559: D/SENSORS(911): AK8973 Orientation sensor
11-14 12:26:47.559: D/SENSORS(911): CM3602 Proximity sensor
11-14 12:26:47.559: D/SENSORS(911): CM3602 Light sensor
11-14 12:26:47.559: D/SENSORS(911): Gravity Sensor
11-14 12:26:47.559: D/SENSORS(911): Linear Acceleration Sensor
11-14 12:26:47.559: D/SENSORS(911): Rotation Vector Sensor
3 голосов
/ 14 ноября 2011

Сначала вы должны получить экземпляр SensorManager, а затем получить требуемый экземпляр службы у менеджера.

String sm = Context.SENSOR_SERVICE;
SensorManager sensorManager = (SensorManager) getSystemService(sm);

/*
 * We get the light sensor in this example.
 */
Sensor someSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

/*
 * Always perform a null check on sensors since your device
 * may not have that sensor.
 */
if (null != someSensor) {
    String sensorName = someSensor.getName();
}

Вы получаете имя с помощью датчика getName() метод.

0 голосов
/ 14 ноября 2011

С помощью getSensorList(Sensor.TYPE_ALL) вы можете получить все датчики внутри устройства.

SensorManager sensorManager
    = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
sensorManager.getSensorList(Sensor.TYPE_ALL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...