#java #android #kotlin #sensors #compass
Вопрос:
Есть некоторые устройства, в которых нет встроенного датчика для использования компаса
то, что я пытаюсь здесь сделать, — это перейти или показать сообщение пользователю, если телефон не поддерживает эту функцию
я пытаюсь это сделать:
sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION)
if (sensor !== null) {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
}else{
val intent = Intent(this, SetProfileActivity::class.java)
startActivity(intent)
}
но каждый раз получаю эту ошибку:
sensorManager.getDefault…(Sensor.TYPE_ORIENTATION) must not be null
Что я делаю не так?
Комментарии:
1. все еще в поисках ответа ..
Ответ №1:
Я только что наткнулся на ту же проблему.
Это решение, которое я нашел и которое работает на меня:
val pm: PackageManager = context.packageManager
if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) {
// This device does not have a compass, turn off the compass feature
}