Activity屏蔽Home键


由于某种需求,需要在某个Activity中启动一个ProgressDialog表示正在进行时。但当ProgressDialog起来后,此时按Home键,则会报错,那如何在ProgressDialog显示的过程中屏蔽掉Home键呢?

直接上代码:

首先重写

  1. @Override  
  2.     public void onAttachedToWindow() {  
  3.         // TODO Auto-generated method stub   
  4.         this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);  
  5.         super.onAttachedToWindow();  
  6.     }  

然后:

  1. themeSetProgressDialog = ProgressDialog.show(this, getString(R.string.theme_set_progressbar_title), getString(R.string.theme_set_progressbar_message), true);  
  2. themeSetProgressDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);  

相关内容