1. 程式人生 > >sensor 詳解(轉載,用以記錄)

sensor 詳解(轉載,用以記錄)

mHandler = new Handler(looper) {  

                @Override  

                public void handleMessage(Message msg) {  

                    final SensorEvent t = (SensorEvent)msg.obj;  

                    final int handle = t.sensor.getHandle();  

  

                    switch (t.sensor.getType()) {  

                        
// Only report accuracy for sensors that support it. case Sensor.TYPE_MAGNETIC_FIELD: case Sensor.TYPE_ORIENTATION: // call onAccuracyChanged() only if the value changes final int accuracy = mSensorAccuracies.get(handle);
if ((t.accuracy >= 0) && (accuracy != t.accuracy)) { mSensorAccuracies.put(handle, t.accuracy); mSensorEventListener.onAccuracyChanged(t.sensor, t.accuracy); }
break; default: // For other sensors, just report the accuracy once if (mFirstEvent.get(handle) == false) { mFirstEvent.put(handle, true); mSensorEventListener.onAccuracyChanged( t.sensor, SENSOR_STATUS_ACCURACY_HIGH); } break; } mSensorEventListener.onSensorChanged(t); sPool.returnToPool(t); } };