【发布时间】:2018-12-22 09:55:55
【问题描述】:
我需要以另一种方法使用来自传感器的值。我不知道如何从 onSensorChanged() 方法中获取值。
我试图创建一个全局字段,在此写入传感器值,但在 onSensorChanged() 方法之外该字段为空。 我在 onSensorChanged() 事件的 textView 中显示了传感器值,它在这里工作。显示的值不为空。 当我尝试显示来自 onSensorChanged() 之外的传感器的数据时,在 onCreate 事件的 textView 中显示的数据为空。
//类级别的全局变量
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));
}
我找不到问题出在哪里。你能帮帮我吗?
【问题讨论】:
标签: java android void android-sensors