我有一个用于电话状态更改的广播接收器,当电话状态为“OFFHOOK”时,我为接近传感器注册了一个事件监听器。当接近度发生变化时,我会做一些事情(我会在服务中进行注册和“某事”,这很重要)。到目前为止,一切都按预期工作。问题是当接近度值为“关闭”时屏幕没有被锁定。我认为这是因为我的听众正在捕捉接近变化事件,因此手机的默认应用程序没有收到该事件。有没有办法传递事件,比如按钮的 onClickListener() 中的“return false”。
编辑:
代码
在服务的oncreate中
myProximitySensor = mySensorManager
.getDefaultSensor(Sensor.TYPE_PROXIMITY);
mySensorManager.registerListener(this, myProximitySensor,
SensorManager.SENSOR_DELAY_NORMAL);
我实现了 SensorEventListener,在它的 onSensorChanged() 方法中:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);