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等腰直角三角形和彩色的三角形(三)
這篇文章主要為大家詳細(xì)介紹了Android OpenGLES2.0等腰直角三角形和彩色的三角形,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
android輸入框與文本框加滾動條scrollview示例
這篇文章主要介紹了android輸入框與文本框加滾動條scrollview示例,需要的朋友可以參考下2014-05-05
Android自定義View實現(xiàn)圓環(huán)帶數(shù)字百分比進度條
這篇文章主要為大家詳細(xì)介紹了Android自定義View實現(xiàn)圓環(huán)帶數(shù)字百分比進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
Android開發(fā):微信授權(quán)登錄與微信分享完全解析
本篇文章主要介紹了Android微信授權(quán)登錄與微信分享,具有一定的參考價值,有需要的可以了解一下。2016-11-11

