傳感器

光線傳感器:
public class MainActivity extends Activity {
	private SensorManager mSensorManager;
	private MyListener listener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listener = new MyListener();
        //獲取傳感器的服務
        mSensorManager =  (SensorManager) getSystemService(SENSOR_SERVICE);
        //得到光線傳感器
        Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
        mSensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);
        
    }   
    private class MyListener implements SensorEventListener{
    	//當精確度變化的時候調用的方法
		@Override
		public void onAccuracyChanged(Sensor sensor, int accuracy) {
			
		}
		//當傳感器發現數據變化的時候調用的方法
		@Override
		public void onSensorChanged(SensorEvent event) {
			float light = event.values[0];//x方向
			System.out.println("當前光線強度:"+light);
		}
    }
    
    @Override
    protected void onDestroy() {
    	mSensorManager.unregisterListener(listener);
    	listener = null;
    	super.onDestroy();
    }
    
}


方向傳感器:

public class MainActivity extends Activity {
	private SensorManager mSensorManager;
	private MyListener listener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listener = new MyListener();
        //獲取傳感器的服務
        mSensorManager =  (SensorManager) getSystemService(SENSOR_SERVICE);
        //得到方向傳感器
        Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
        mSensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);
        
    }   
    private class MyListener implements SensorEventListener{
    	//當精確度變化的時候調用的方法
		@Override
		public void onAccuracyChanged(Sensor sensor, int accuracy) {
			
		}
		//當傳感器發現數據變化的時候調用的方法
		@Override
		public void onSensorChanged(SensorEvent event) {
			//0=North, 90=East, 180=South, 270=West 
			float angle = event.values[0];
			System.out.println("angle:"+angle);
		}
    }
    
    @Override
    protected void onDestroy() {
    	mSensorManager.unregisterListener(listener);
    	listener = null;
    	super.onDestroy();
    }
    
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章