2017-02-09 32 views
0

В принципе, мне интересно, что говорится в названии. Я искал в Интернете и не нашел ответа. Итак, кто-нибудь знает, есть ли возможность проверить, получил ли телефон определенный датчик (пример линейного ускорения), прежде чем устанавливать apk. Я не знаю, может быть, когда вы согласитесь на разрешение, вы дадите воевать «у вас нет этого сенсора» или что-то еще?Проверьте, не установил ли датчик датчик при установке приложения

+2

<использует-функции андроида.: name = "android.hardware.xxxxx" android: required = "true" /> в вашем androidmanifest.xml – GeorgeChen

+0

Приятная идея, спасибо. Не думал об этом. Но, похоже, не работает для этого. – Mjafko

ответ

1

Единственное решение, которое пришло мне в голову, чтобы вырыть через„Поддерживаемые устройства“список на консоли разработчика Google игры и только выбрать устройства, которые имеют датчик вам нужно

+0

Это один вариант да. Спасибо. – Mjafko

1

Используйте это, чтобы проверить наличие датчика в устройстве

boolean sensoravailable; 

sensoravailable = sensorMgr.registerListener(this,sensorMgr.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION); 

if(sensoravailable) 
{ 
. 
. 
} 

В Manifest и можно проверить Понравилось

<uses-feature 
android:name="android.hardware.sensor.compass" 
android:required="true" /> 

Ниже приведен датчик можно проверить в манифесте: отсылая>https://developer.android.com/reference/android/content/pm/PackageManager.html

FEATURE_SENSOR_ACCELEROMETER

Добавлено в уровень API 8 String FEATURE_SENSOR_ACCELEROMETER Функция getSystemAvailableFeatures() и hasSystemFeature (String): устройство включает в себя акселерометр.

Константа Значение: "android.hardware.sensor.accelerometer"

FEATURE_SENSOR_AMBIENT_TEMPERATURE

Добавлено в уровне API 21 Строка FEATURE_SENSOR_AMBIENT_TEMPERATURE Характеристика для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя эмбиент Датчик температуры.

Константа Значение: "android.hardware.sensor.ambient_temperature"

FEATURE_SENSOR_BAROMETER

Добавлено в уровне API 9 Строка FEATURE_SENSOR_BAROMETER Характеристика для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя барометр (датчик давления воздуха.)

Константа Значение: "android.hardware.sensor.barometer"

FEATURE_ SENSOR_COMPASS

Добавлено в уровне API 8 Строка FEATURE_SENSOR_COMPASS Функция для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя магнитометр (компас).

Константа Значение: "android.hardware.sensor.compass"

FEATURE_SENSOR_GYROSCOPE

Добавлено в уровне API 9 Строка FEATURE_SENSOR_GYROSCOPE Характеристика для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя гироскоп ,

Постоянная ценность: "android.hardware.sensor.гироскоп "

FEATURE_SENSOR_HEART_RATE

Добавлено в уровне API 20 Строка FEATURE_SENSOR_HEART_RATE Функция для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя монитор сердечного ритма

Константа Значение:." android.hardware .sensor.heartrate»

FEATURE_SENSOR_HEART_RATE_ECG

Добавлено в уровне API 21 String FEATURE_SENSOR_HEART_RATE_ECG Функция getSystemAvailableFeatures() и hasSystemFeature (String): Датчик сердечного ритма на этом устройстве является электрокардиограммой.

Константа Значение: "android.hardware.sensor.heartrate.ecg"

FEATURE_SENSOR_LIGHT

Добавлено в уровне API 7 Строка FEATURE_SENSOR_LIGHT функция для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает датчик освещенности.

Константа Значение: "android.hardware.sensor.light"

FEATURE_SENSOR_PROXIMITY

Добавлено уровня API 7 Строка FEATURE_SENSOR_PROXIMITY Функция для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя близость датчик.

Константа Значение: "android.hardware.sensor.proximity"

FEATURE_SENSOR_RELATIVE_HUMIDITY

Добавлено в уровне API 21 Строка FEATURE_SENSOR_RELATIVE_HUMIDITY Характеристика для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя относительное датчик влажности.

Константа Значение: "android.hardware.sensor.relative_humidity"

FEATURE_SENSOR_STEP_COUNTER

Добавлено в уровне API 19 Строка FEATURE_SENSOR_STEP_COUNTER Характеристика для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя аппаратное обеспечение счетчик шагов.

постоянное значение: "android.hardware.sensor.stepcounter"

FEATURE_SENSOR_STEP_DETECTOR

Добавлено в уровне API 19 Строка FEATURE_SENSOR_STEP_DETECTOR Характеристика для getSystemAvailableFeatures() и hasSystemFeature (String): Устройство включает в себя аппаратное обеспечение ступенчатый детектор.

Постоянная ценность: "android.hardware.sensor.stepdetector»

+1

как это будет работа над кодом перед установкой приложения? – Redman

+0

Я получил «if (sensorManager.getDefaultSensor (Sensor.TYPE_LINEAR_ACCELERATION) == null) {}", и насколько я знаю, это более правильно, чем ваше решение. Но это когда вы запускаете приложение. хочу знать, есть ли что-то, чтобы узнать раньше. – Mjafko

+0

Я не думаю, что вы можете проверить это перед установкой. Поскольку он не позволяет получить доступ к чему-либо без разрешения пользователя – Athul