我想在应用程序中实现接近传感器。但是如何让应用程序在不同的手机中工作。
问题: 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
}
};
答案 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
}
};