代码之家  ›  专栏  ›  技术社区  ›  Jason

如何显示弹出活动或对话框时,手机被锁定?

  •  5
  • Jason  · 技术社区  · 15 年前

    我试图在手机锁定时显示活动或对话框。 我曾尝试使用唤醒锁,但它没有工作,我只能看到活动,一旦我的手机被解锁?

    3 回复  |  直到 15 年前
        1
  •  4
  •   Dan J Akhil    14 年前

    你应该使用 KeyGuardManager 自动解锁设备,然后获取唤醒锁定。

        KeyguardManager kgm = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
        boolean isKeyguardUp = kgm.inKeyguardRestrictedInputMode();
        KeyguardLock kgl = kgm.newKeyguardLock("Your Activity/Service name");
    
        if(isKeyguardUp){
        kgl.disableKeyguard();
        isKeyguardUp = false;
        }
    
        wl.acquire(); //use your wake lock once keyguard is down.
    
        2
  •  10
  •   HarryHao    15 年前

    要在不关闭键盘的情况下显示活动,请尝试以下操作:

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    setContentView();
    
        3
  •  2
  •   Community Mohan Dere    8 年前

    answer :

    AlertDialog alertDialog = new AlertDialog.Builder(context).create();
            alertDialog.getWindow().setType(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
            alertDialog.show();
    

    要在锁屏上显示活动,或在活动开始时基本上移除锁屏,请尝试以下操作:

    public void onCreate(Bundle savedInstanceState){
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
         ...
    }