资讯详情

【android:位置传感器——使用近程传感器】

android:位置传感器-使用近程传感器

近程传感器允许您确定物体与设备之间的距离。以下代码显示了如何获得默认近程传感器的例子:

private SensorManager sensorManager; private Sensor sensor; ... //获取传感器 sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); sensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); 

近程传感器通常用于确定头部与手持设备表面的距离(例如,当用户拨打或接听电话时)。大多数近程传感器返回到厘米的绝对距离,但有些只返回近距离和远距离值。如何使用近程传感器显示以下代码:

public class SensorActivity extends Activity implements SensorEventListener { 
        // 创建监听器SensorEventListener     private SensorManager sensorManager;     private Sensor proximity;      @Override     public final void onCreate(Bundle savedInstanceState) { 
                 super.onCreate(savedInstanceState);         setContentView(R.layout.main);          // 获取传感器服务并使用传感器服务的实例         // 获取传感器。         sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);         proximity = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);     }      @Override     public final void onAccuracyChanged(Sensor sensor, int accuracy) { 
                 //如果传感器精度发生变化,请在这里采取措施。     }      @Override     public final void onSensorChanged(SensorEvent event) { 
                 float distance = event.values[0];         // 用这些传感器数据做点什么?     }      @Override     protected void onResume() { 
        
        // 为传感器注册一个侦听器。
        super.onResume();
        sensorManager.registerListener(this, proximity, SensorManager.SENSOR_DELAY_NORMAL);
      }

    @Override
    protected void onPause() { 
        
        // 活动暂停时,请务必注销传感器。
        super.onPause();
        sensorManager.unregisterListener(this);
    }
}

注意:某些传感器返回二进制值来表示“近”或“远”。在这种情况下,传感器通常会在远距离状态下报告其最大范围值,而在近距离状态下报告较小的值。通常,远距离值是一个大于 5 cm 的值,但这可能因传感器而异。您可以使用 getMaximumRange() 方法确定传感器的最大范围。

标签: 用什么传感器来控制距离传感器pr92682015接近传感器android设备传感器相关

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台