我有一個廣播接收器的手機狀態變化,而當電話狀態是「摘機」,我註冊的接近傳感器的事件監聽。當鄰近地區發生變化時,我會做一些事情(爲此,我會在服務中進行註冊和「某些事情」)。到目前爲止,一切都按預期工作問題在於,當接近度值爲'CLOSE'時,屏幕未被鎖定。我認爲這是因爲我的聽衆正在接近接近改變事件,所以手機的默認應用程序沒有收到事件。有沒有辦法傳遞事件,如按鈕的onClickListener()中的'return false'。如何通過對接近改變事件
編輯:
代碼
在服務
myProximitySensor = mySensorManager
.getDefaultSensor(Sensor.TYPE_PROXIMITY);
mySensorManager.registerListener(this, myProximitySensor,
SensorManager.SENSOR_DELAY_NORMAL);
我實現了SensorEventListener的OnCreate,並在它的onSensorChanged()方法:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
你能請張貼一些代碼? – Ridcully
與您認爲鄰近事件不會消耗的情況相反。所有註冊的eventListeners都會收到該事件。所以沒有必要「傳遞」。也許應用程序/服務保持在喚醒設備屏幕的wakelock上。嗯?... – TheCodeArtist
@TheCodeArtist感謝reply.Do你覺得調用從廣播接收器的服務導致了問題? – Savin