Мне нужно использовать значения от датчика в другом методе.Я не знаю, как получить значения из метода onSensorChanged ().
Я пытался создать глобальное поле, запишите в него значение датчика, но вне метода onSensorChanged () поле имеет значение null.Я отобразил значение датчика в textView в событии onSensorChanged (), и оно работает здесь.Отображаемые значения не равны нулю.Когда я попытался отобразить данные с датчика вне onSensorChanged (), в textView в событии onCreate отображаемые данные имеют значение null.
// глобальная переменная на уровне класса
float mean_acc;
//Метод onSensorChanged ()
public void onSensorChanged(SensorEvent sensorEvent) {
mean_acc = sensorEvent.values[1];
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Log.d(TAG, "onCreate: Initializing Sensor Services");
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
Log.d(TAG, "onCreate:Registered");
accelView = (TextView) findViewById(R.id.accelDataView);
accelView.setText(String.valueOf(mean_acc));
}
Я не вижу, в чем проблема.Не могли бы вы помочь мне?