能否等待传感器监听器执行一次之后继续执行?

    countDownLatch = new CountDownLatch(1);
mManager2 = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
Sensor mSensor2 = mManager2.getDefaultSensor(Sensor.TYPE_PROXIMITY);
SensorEventListener mListener2 = new SensorEventListener() {
    public void onAccuracyChanged(Sensor sensor, int accuracy) {}
    public void onSensorChanged(SensorEvent event) {
        p = event.values[0];
        mManager2.unregisterListener(this);
        countDownLatch.countDown();
    }
};
mManager2.registerListener(mListener2, mSensor2, SensorManager.SENSOR_DELAY_GAME);
try {
    countDownLatch.await();
} catch (InterruptedException e) {
    e.printStackTrace();
}
boolean isProximate = p < 0.5;

大概就是上面那样,我修改之前没保存。onSensorChanged 里面的好像根本就不会执行。

你试试在监听方法里面调用你后面要执行的操作。