Android 8.0画面ロック状態でサスペンションを表示しない解決方法

2037 ワード

Android OにTYPEが特別に追加されましたAPPLICATION_OVERLaYは懸濁窓のニーズを満たす.
プロジェクト中にこのtypeが設定されていることに気づき、スクリーンロック状態ではサスペンションボックスをポップアップできません.
final WindowManager.LayoutParams params = new WindowManager.LayoutParams();
        params.screenOrientation = Configuration.ORIENTATION_PORTRAIT;
        params.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
        params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
                | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
                | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
                | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;//2018-6-4,, update

FLAG_を設定することでSHOW_WHEN_LOCKED flagは、画面ロック状態でサスペンションを表示することができます