package com.example.range_sensor;

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

/**
*
*
* 距离传感器
*
* @author pengxiaolong
*
*/
public class MainActivity extends Activity {

private SensorManager sensorManager;

private Sensor illuminationSensor;

private TextView tv_g;

private TextView tv_info;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
View_init();
pojectinit();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

/**
* 对象的初始化
*/
private void pojectinit(){
sensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);
illuminationSensor=sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);

if(illuminationSensor==null){
Toast.makeText(this, "您的设备沾不支持该功能!", 0).show();
}else{

String str="\n名字:"+illuminationSensor.getName()+"\n电池:"+illuminationSensor.getPower()+"\n类型:"+illuminationSensor.getType()+"\nVendor:"+illuminationSensor.getVendor()+"\n版本:"+illuminationSensor.getVersion()+"\n幅度:"+illuminationSensor.getMaximumRange();
tv_info.setText(str);

}
sensorManager.registerListener(sensorEventListener, illuminationSensor, SensorManager.SENSOR_DELAY_NORMAL);

}

/**
* view的初始化
*/
private void View_init()
{
tv_g=(TextView) this.findViewById(R.id.tv_g);
tv_info=(TextView) this.findViewById(R.id.info);


}



@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
sensorManager.unregisterListener(sensorEventListener);
}


/**
* 监听器
*/
private SensorEventListener sensorEventListener=new SensorEventListener() {

@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
float[] values=event.values;

tv_g.setText("手机距离物体的距离为:"+values[0]);


}

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

}
};


}

更多相关文章

  1. Android(安卓)如何通过menu id来得到menu item 控件--binbinyang
  2. Android(安卓)实现适配器中的子控件与Activity通信
  3. 理解Android(安卓)Context
  4. android4.0 上定制状态栏
  5. Fresco源码解析 - 创建一个ImagePipeline(一)
  6. Android(安卓)自定义按钮点击事件和长按事件对比
  7. App优化之提升你的App启动速度之实例挑战
  8. android点击一个Button打开另外一个activity
  9. 判断一个activity初始化是否完毕的方法

随机推荐

  1. gridView在scrollview中显示不全的问题
  2. android 中Spinner与dialog的综合应用
  3. android中layout_weight的理解
  4. android 4.0 com.android.ddmlib.Install
  5. Android(安卓)HttpClient
  6. Android(安卓)多线程更新控件
  7. Android之自定义Adapter的ListView
  8. android 弹出视频
  9. Android中Broadcast的Intent大全
  10. Download Android(安卓)1.5 SDK, Release