今天晚上我用傳感器遇到了很多麻煩,但它看起來是因爲onSensorChanged()沒有被調用。對不起,最終重複的問題,但我沒有看到任何解決方案。 這裏是我的代碼:onSensorChanged()不叫
public SensorManager manager;
public Sensor rotation_vector;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager = (SensorManager)getSystemService(SENSOR_SERVICE);
rotation_vector = manager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
}
@Override
public void onSensorChanged(SensorEvent event) {
int xValue = (int) event.values[0];
int yValue = (int) event.values[1];
int zValue = (int) event.values[2];
Toast.makeText(getApplicationContext(),"this doesn't appear...",Toast.LENGTH_LONG);
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
//TODO: we'll see later about it
}
public void onPause() {
/*Et on le dés-enregistre quand on sort de l'activité, pour économiser de la batterie*/
super.onPause();
manager.unregisterListener(this);
}
@Override
protected void onResume() {
/*On enregistre le sensor quand l'utilisateur revient sur l'activité*/
super.onResume();
manager.registerListener(this, rotation_vector, SensorManager.SENSOR_DELAY_NORMAL);
if (null != rotation_vector) {
} else {
Toast.makeText(getApplicationContext(),
"There is no gyroscope on your device",
Toast.LENGTH_LONG).show();
}
}
我已經看到了很多不同的論壇上類似的代碼,但APPART從there和一些其他的話題沒有解決方案,我還沒有見過這樣的問題尚未... 我是否必須在AndroidManifest中添加一些內容? 這是常見問題嗎? 它有解決方案嗎?
感謝, 托馬斯 (我的英語不好對不起,我是法國人^^)
嗯,我忘了我的代碼的一部分,它是在底部......它不能解決問題 – Thomas 2015-01-27 08:37:45
請更新您的問題,然後,我非常確定它必須工作...另請嘗試非空檢查。如果它不工作,我會稍後深入探究 – VizGhar 2015-01-27 09:59:22
完成!你通過「非空檢查」調用什麼? – Thomas 2015-01-27 15:46:07