Android 使用传感器

简单的学习了一下传感器的使用,一个简单的重力传感器,在这里只是对重力传感器进行了一个简单的了解!

下面将代码放到下面,供需要学习的的参考一下,而且这里没有实现什么具体的功能!

 

 

代码
package com.SensorTest;

import java.util.List;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.Toast;

public class SensorTest extends Activity implements SensorEventListener {

boolean isRegSensor = false;

private SensorManager sensorManager;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

sensorManager
= (SensorManager) getSystemService(SENSOR_SERVICE);

}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();

List
<Sensor> sensors = sensorManager
.getSensorList(Sensor.TYPE_ORIENTATION);
// 方向传感器

if (sensors.size() > 0) {
Sensor sensor
= sensors.get(0);
isRegSensor
= sensorManager.registerListener(this, sensor,
SensorManager.SENSOR_DELAY_FASTEST);
//
}
}

public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub

// 处理精度改变

}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub

if (isRegSensor) {
sensorManager.unregisterListener(
this);
isRegSensor
= false;
}

super.onDestroy();
}

public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
// 处理方向改变等

Toast.makeText(
this, "X值为:" + event.values[SensorManager.AXIS_MINUS_X],
Toast.LENGTH_LONG).show();

}

}

 

 

这是一个完整的实现代码,但是没有在真机上进行测试,所以不知道真机上效果如何!

posted @ 2010-12-22 23:45  老码农豆豆  阅读(1074)  评论(0编辑  收藏  举报