1

通話中にデバイスが顔の近くにある場合、PROXIMITY_SCREEN_OFF_WAKE_LOCK を使用して画面をオフにしたいと考えています。ただし、一部のデバイスで画面がオフになるとすぐに onPause() および onStop() が呼び出されるため、呼び出しが中断されます。たとえば、HTC One では機能しましたが、Samsung Galaxy S6 では機能しませんでした。中断を防ぐために別のサービスで呼び出しを処理する必要がありますか、それとも必要なものを取得する簡単な方法はありますか?

可能であれば、通話接続処理を別の Service に任せたくありません。それは大変な労力になるからです。どのような方法が一般的ですか?Skype や WhatsApp などのことを考えると、珍しい使用例ではないと思います...

これは、ウェイクロックを取得する方法です。

    int field = 0x00000020;
    try {
        field = PowerManager.class.getClass().getField("PROXIMITY_SCREEN_OFF_WAKE_LOCK").getInt(null);
    } catch (Throwable ignored) {
    }
    proximityWakeLock = pm.newWakeLock(field, "My Tag1");

    proximityWakeLock.acquire();
4

0 に答える 0