1
這是我的代碼。我是android開發新手。我在按鈕點擊事件上調用了registerListener
。它開始從加速計獲取數據,但是當我從另一個按鈕單擊時調用unregisterListener
時,它不起作用。unregisterListener不在按鈕單擊事件上工作
public void startButton(View view){
findViewById(R.id.stop).setEnabled(true);
findViewById(R.id.start).setEnabled(false);
Intent intent = getIntent();
selsensors = intent.getStringExtra(SensorsList.SELECTED_SENSORS);
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
senList = mSensorManager.getSensorList(Sensor.TYPE_ALL);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(this, mAccelerometer, mSensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onSensorChanged(SensorEvent event){
if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
ax = event.values[0];
ay = event.values[1];
az = event.values[2];
Toast.makeText(this, "X: "+ax+"\nY: "+ay+"\nZ: "+az, Toast.LENGTH_SHORT).show();
}
}
public void stopButton(View view){
mSensorManager.unregisterListener(this);
this.finish();
}
感謝您的回覆,我覺得這是工作,因爲我是用麪包來顯示加速度值,以便執行unregisterListener剩餘的郵件被toast.I diplayed上心當我看到logcat的後。 –
好的,不是bug :) – RvdK