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

    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 里面的好像根本就不会执行。

阅读 2.9k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题