В настоящее время я застрял на задаче, которая, на мой взгляд, довольно проста.Я разрабатываю библиотеку в Kotlin / Native, которая должна запрашивать датчик гравитации в iOS и Android.
Почти вся логика находится в общей части, и только связь с датчиком устройств реализована в платформеметоды.Удивительно, но все основные библиотеки iOS (в данном случае CoreMotion) были портированы так, чтобы реализация была довольно простой.
В этом случае CoreMotion позволяет мне добавить слушателя на датчик силы тяжести, который вызывает обратный вызов всякий раз, когда ориентация экрана изменяется относительно X, Y или Z (меня интересует Z, кстати)
В Android я бы сделал что-то вроде этого
private lateinit var sensorManager: SensorManager
fun setupSensor() {
this.sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)?.let {
this.accelerometer = it
}
sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY)?.let {
this.gravity = it
}
}
Но необходимый импорт не доступен в Kotlin / Native
import android.hardware.Sensor;
import android.hardware.SensorManager;
Есть ли способ получить доступ к этомуаппаратное обеспечение (датчик силы тяжести) в Kotlin / Native?Или лучше в специфичной для Android части Kotlin / Native?