這個(gè)類(我的是Activity中)繼承SensorEventListener接口
先獲取傳感器對(duì)象,再獲取傳感器對(duì)象的類型
//獲取傳感器管理對(duì)象 SensorManager mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); // 獲取傳感器的類型(TYPE_ACCELEROMETER:加速度傳感器) Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
這里我們除了可以獲取加速度傳感器之外,還可以獲取其他類型的傳感器,如:
重寫(xiě)注冊(cè)方法
@Override protected void onResume(){ super.onResume(); //為加速度傳感器注冊(cè)監(jiān)聽(tīng)器 mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_GAME); }
重寫(xiě)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上,就可看見(jiàn)加速度的變化 }
重寫(xiě)取消監(jiān)聽(tīng)的方法
@Override protected void onStop(){ super.onStop(); //取消監(jiān)聽(tīng) mSensorManager.unregisterListener(this); }
這樣就能獲取加速啦。
將values[]數(shù)組傳給需要使用的對(duì)象就能使用了。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VEVB武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注