接近传感器

时间:2014-12-09 07:11:08

标签: android android-sensors proximitysensor

我想在应用程序中实现接近传感器。但是如何让应用程序在不同的手机中工作。

问题: Micromax A177和Moto E存在问题,因为它们似乎有接近传感器,但最小值和最大值不同。在Micromax的情况下,我发现它在传感器盒应用程序中为0和1,在Moto E的情况下,它显示3和100.现在应该是一个应用程序的比较条件,好像我将它与大于0比较然后它将在Moto E中一直被叫。

感谢任何帮助。

注册传感器后,实现了监听器代码 使用的代码:

    proximitySensorListener = new SensorEventListener() {
    @Override
    public void onSensorChanged(SensorEvent event) {
        // Here I have issue, How to make it working in case of all different phone.
        if(event.values[0]>0)
        {
            methodCalled();
        }
    }
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub

    }
};

1 个答案:

答案 0 :(得分:0)

根据文件:

  

某些接近传感器仅支持二进制近或远测量。   在这种情况下,传感器应报告其最大范围值   远州和近州的价值较低

因此,您应该将其值与您声明的传感器比较为proximitySensor.getMaximumRange()并在您的代码中使用它。

proximitySensorListener = new SensorEventListener() {
    @Override
    public void onSensorChanged(SensorEvent event) {
        // Here I have issue, How to make it working in case of all different phone.
        if(event.values[0]<proximitySensor.getMaximumRange())
        {
            methodCalled();
        }
    }
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub

    }
};