1. 程式人生 > >自定義app鎖屏頁

自定義app鎖屏頁

 Window win = getWindow();
        win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
        );//鎖屏狀態下顯示
//                | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD ;//解鎖
//                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON //保持螢幕長亮
//                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); //開啟螢幕
        ;

        try {
            //使用手機的背景
            Drawable wallPaper = WallpaperManager.getInstance(this).getDrawable();
            win.setBackgroundDrawable(wallPaper);
        } catch (Exception e) {
            //有些手機獲取不到手機背景圖
            e.printStackTrace();
            this.finish();
            return;
        }
if(Build.VERSION.SDK_INT>=26){
    try{
        KeyguardManager keyguardManager = (KeyguardManager) LockScreenActivity.this.getSystemService(KEYGUARD_SERVICE);
        keyguardManager.requestDismissKeyguard(LockScreenActivity.this, new KeyguardManager.KeyguardDismissCallback() {
            @Override
            public void onDismissError() {
                super.onDismissError();
            }

            @Override
            public void onDismissSucceeded() {
                super.onDismissSucceeded();
            }

            @Override
            public void onDismissCancelled() {
                super.onDismissCancelled();
            }
        });
    }catch (Exception e){
        e.printStackTrace();
    }

}