简体   繁体   English

Android Studio:锁定屏幕通知单击显示活动和解锁手机

[英]Android Studio: Lock Screen Notification click Show Activity and Unlock Phone

I have a Lock Screen Notification that must call an Activity unlock the device.我有一个必须调用 Activity 解锁设备的锁屏通知。

I have tried addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD) this make the activity shows but lock screen continues.我试过 addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD) 这使活动显示但锁定屏幕继续。

I also tried lock.disableKeyguard();我也试过 lock.disableKeyguard(); it is deprecate and also I cant, for some android reason, reenable it.它已被弃用,而且由于某些 android 原因,我也无法重新启用它。

The Code for Calling the Activity:调用活动的代码:

Intent intent = new Intent(APP.getINSTANCE(), MainActivity.class)
                .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
                .addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)
                .setAction(Intent.ACTION_MAIN);
getActivity().startActivity(intent);

Anyone, any idea on how to make this "absurd extraordinary thing" on the "marvelous" android?任何人,知道如何在“奇妙”的机器人上制作这个“荒谬非凡的东西”吗?

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
//                DftOp.getActivity().setShowWhenLocked(true);
                DftOp.getActivity().setTurnScreenOn(true);
                KeyguardManager keyguardManager = (KeyguardManager)  DftOp.getActivity().getSystemService(Context.KEYGUARD_SERVICE);
                if(keyguardManager!=null)
                    keyguardManager.requestDismissKeyguard(DftOp.getActivity(), null);
            } else {
                DftOp.getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
//                        WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                        WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
            }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM