0

電話の状態が変化するブロードキャストレシーバーがあり、電話の状態が「OFFHOOK」の場合、近接センサーのイベントリスナーを登録します。近接性が変化すると、私は何かをします(サービスで登録と「何か」を行います)。これまでのところ、すべてが期待どおりに機能しています。問題は、近接値が「CLOSE」のときに画面がロックされないことです。これは、リスナーが近接変更イベントをキャッチしているため、電話のデフォルト アプリケーションがイベントを取得していないためだと思います。ボタンの onClickListener() で「false を返す」など、イベントを渡す方法はありますか。

編集:

コード

サービスの作成中

        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