這個類(我的是Activity中)繼承SensorEventListener接口
先獲取傳感器對象,再獲取傳感器對象的類型
//獲取傳感器管理對象 SensorManager mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); // 獲取傳感器的類型(TYPE_ACCELEROMETER:加速度傳感器) Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
這里我們除了可以獲取加速度傳感器之外,還可以獲取其他類型的傳感器,如:
重寫注冊方法
@Override protected void onResume(){ super.onResume(); //為加速度傳感器注冊監聽器 mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_GAME); }
重寫onSensorChanged方法
@Override public void onSensorChanged(SensorEvent event){ values = event.values; StringBuilder sb = new StringBuilder(); sb.append("X方向的加速度:"); sb.append(values[0]); sb.append("/nY方向的加速度:"); sb.append(values[1]); sb.append("/nZ方向的加速度:"); sb.append(values[2]); mTextValue.setText(sb.toString());//輸出到Imageview上,就可看見加速度的變化 }
重寫取消監聽的方法
@Override protected void onStop(){ super.onStop(); //取消監聽 mSensorManager.unregisterListener(this); }
這樣就能獲取加速啦。
將values[]數組傳給需要使用的對象就能使用了。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答