0

SensorEventListener を使用して画面のオン/オフを切り替える必要がある場合

    @Override
    public final void onSensorChanged(SensorEvent event) {
        if (event.values[0] == 0)
            turnScreenOFF();
        else if (event.values[0] == 5)
            turnScreenON();
    }

多くのサンプルコードを試しましたが、画面をオフにした後に再びオンにすることはできません

画面をオフにするコードがあります:

        WindowManager.LayoutParams params = getWindow().getAttributes();
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        params.screenBrightness = 0.0f;
        getWindow().setAttributes(params);
4

1 に答える 1

0

画面のオン/オフ状態についてはACTION_SCREEN_ONACTION_SCREEN_OFF意図を使用して試すことができます。これは、状態を保存したり、ユーザーの画面がスリープ/ウェイクアップするなどに応答する必要があるアプリケーションを作成している場合に便利です。

ハンドリング画面のON/OFFをチェック。

編集:

以下を試してください:

 private void unlockScreen() {
        Window window = this.getWindow();
        window.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
        window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
    }

からこのメソッドを呼び出しますonResume()

于 2013-10-09T12:14:00.280 に答える