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 里面的好像根本就不会执行。
之后用英文搜索找到方法了,能用的代码:
https://segmentfault.com/q/10...
不过不知道有没有问题。