【问题标题】:Proximity Sensor接近传感器
【发布时间】:2014-12-09 07:11:08
【问题描述】:

我想在应用程序中实现接近传感器。但是我怎样才能让应用程序在不同的手机上工作。

问题: Micromax A177 和 Moto E 存在问题,因为它们似乎有接近传感器,但最小值和最大值不同。在 Micromax 的情况下,我发现它在 Sensor Box 应用程序中为 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

    }
};

【问题讨论】:

    标签: android android-sensors proximitysensor


    【解决方案1】:

    根据文档:

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

    因此,您应该将其值与您声明为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
    
        }
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多