申祷无 2017-08-15 11:26 采纳率: 40%
浏览 859
已采纳

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

 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;

大概就是这样,跟我之前写的可能不一样,我修改之前没有保存。onSensorChange 里面的好像根本就不会执行。

  • 写回答

1条回答 默认 最新

  • devmiao 2017-08-15 15:56
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 12月20日