0

我有一个用于电话状态更改的广播接收器,当电话状态为“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);
4

1 回答 1

0

如果您想在接近侦听器更改时锁定屏幕,您可以拥有一个PowerManager.WakeLock实例 并在其上调用获取以锁定屏幕,然后调用释放以再次解锁屏幕

于 2018-02-13T15:30:12.927 回答