Android傳感器SensorEventListener之加速度傳感器
這個類(我的是Activity中)繼承SensorEventListener接口
先獲取傳感器對象,再獲取傳感器對象的類型
//獲取傳感器管理對象 SensorManager mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); // 獲取傳感器的類型(TYPE_ACCELEROMETER:加速度傳感器) Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
這里我們除了可以獲取加速度傳感器之外,還可以獲取其他類型的傳感器,如:
- * Sensor.TYPE_ORIENTATION:方向傳感器。
- * Sensor.TYPE_GYROSCOPE:陀螺儀傳感器。
- * Sensor.TYPE_MAGNETIC_FIELD:磁場傳感器。
- * Sensor.TYPE_GRAVITY:重力傳感器。
- * Sensor.TYPE_LINEAR_ACCELERATION:線性加速度傳感器。
- * Sensor.TYPE_AMBIENT_TEMPERATURE:溫度傳感器。
- * Sensor.TYPE_LIGHT:光傳感器。
- * Sensor.TYPE_PRESSURE:壓力傳感器。
重寫注冊方法
@Override protected void onResume(){ super.onResume(); //為加速度傳感器注冊監(jiān)聽器 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上,就可看見加速度的變化 }
重寫取消監(jiān)聽的方法
@Override protected void onStop(){ super.onStop(); //取消監(jiān)聽 mSensorManager.unregisterListener(this); }
這樣就能獲取加速啦。
將values[]數(shù)組傳給需要使用的對象就能使用了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Android OpenGLES2.0等腰直角三角形和彩色的三角形(三)
這篇文章主要為大家詳細介紹了Android OpenGLES2.0等腰直角三角形和彩色的三角形,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12android輸入框與文本框加滾動條scrollview示例
這篇文章主要介紹了android輸入框與文本框加滾動條scrollview示例,需要的朋友可以參考下2014-05-05Android自定義View實現(xiàn)圓環(huán)帶數(shù)字百分比進度條
這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)圓環(huán)帶數(shù)字百分比進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12Android開發(fā):微信授權(quán)登錄與微信分享完全解析
本篇文章主要介紹了Android微信授權(quán)登錄與微信分享,具有一定的參考價值,有需要的可以了解一下。2016-11-11