关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > Android特色开发之传感器和语音识别

Android特色开发之传感器和语音识别

作者: 时间:2011-02-11 来源:网络 收藏

  //注册传感器

  Boolean mRegisteredSensor = mSensorManager.registerListener(this, sensor,

  SensorManager.SENSOR_DELAY_FASTEST);

  //卸载传感器

  mSensorManager.unregisterListener(this);

  其中,SensorEventListener是使用传感器的核心部分,包括以下两个方法必须实现:

  onSensorChanged (SensorEvent event) 方法在传感器值更改时调用。该方法只由受此应用程序监视的传感器调用。该方法的参数包括一个SensorEvent对象,该对象主要包括一组浮点数,表示传感器获得的方向、加速度等信息。例如,以下代码可以取得其值:

  float x = event.values[SensorManager.DATA_X];

  float y = event.values[SensorManager.DATA_Y];

  float z = event.values[SensorManager.DATA_Z];

  onAccuracyChanged (Sensor sensor,int accuracy) 方法在传感器的精准度发生改变时调用。其参数包括两个整数:一个表示传感器,另一个表示该传感器新的准确值。

  具体实现如代码清单1所示。

  代码清单1 Examples_09_01srccomyarinandroidExamples_09_01Activity01.java

  public class Activity01 extends Activity implements SensorEventListener

  {

  private boolean mRegisteredSensor;

  //定义SensorManager

  private SensorManager mSensorManager;

  public void onCreate(Bundle savedInstanceState)

  {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  mRegisteredSensor = false;

  //取得SensorManager实例

  mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

  }

  protected void onResume()

  {

  super.onResume();

  //接收SensorManager的一个列表(Listener)

  //这里我们指定类型为TYPE_ORIENTATION(方向传感器)

  List sensors = mSensorManager.getSensorList

  (Sensor.TYPE_ORIENTATION);

  if (sensors.size() > 0)

  {

  Sensor sensor = sensors.get(0);

  //注册SensorManager

  //this->接收sensor的实例

  //接收传感器类型的列表

  //接收的频率

  mRegisteredSensor = mSensorManager.registerListener(this,

  sensor, SensorManager.SENSOR_DELAY_FASTEST);



关键词:

评论


相关推荐

技术专区

关闭