1

我尝试从模拟器中的接近传感器的 getMaximumRange() 方法中获取最大值(不是在真实手机中!)。但我只得到 1.0 而不是 10。为什么?

我的代码很简单。

@Override
protected void onStart() {
    super.onStart();

    if (mProximitySensor != null) {
        mProximitySensorTextView.setText(mProximitySensor.getName());
        mProximityMaxTextView.setText("getMaximumRange: ");
        mProximityMaxTextView.append(String.valueOf(mProximitySensor.getMaximumRange()));
        mSensorManager.registerListener(this, mProximitySensor,
                SensorManager.SENSOR_DELAY_NORMAL);

    } else {
        Log.e("Sensor", "Not available.");
        finish();
    }
}

在此处输入图像描述

4

1 回答 1

1

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

这可以通过使用以下 USSD 来确认*#*#0588#*#*

这将触发接近测试。在真机或模拟器上试试这个并确认

于 2017-12-04T11:34:37.080 回答