android dialog home键

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:39   3029   0

在一个界面弹出AlertDialog后屏蔽home键

AlertDialog dialog = builder.create();
  dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {

   @Override
   public boolean onKey(DialogInterface dialog, int keyCode,
     KeyEvent event) {
    // TODO Auto-generated method stub
    if (keyCode == KeyEvent.KEYCODE_HOME)
     return true;
    return false;
   }
  });
  dialog.show();
  dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);

public class BaseProgressDialog extends ProgressDialog {

 public BaseProgressDialog(Context context) {
  super(context);
  setOnShowListener(new DialogInterface.OnShowListener() {

   @Override
   public void onShow(DialogInterface dialog) {
    // TODO Auto-generated method stub
    getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
   }
  });
 }

 @Override
 public boolean dispatchKeyEvent(KeyEvent event) {
  // TODO Auto-generated method stub
  switch (event.getKeyCode()) {
  case KeyEvent.KEYCODE_HOME:
   return true;
  }
  return super.dispatchKeyEvent(event);
 }

 public static BaseProgressDialog show(Context context, CharSequence title,
   CharSequence message) {
  BaseProgressDialog dialog = new BaseProgressDialog(context);
  dialog.setTitle(title);
  dialog.setMessage(message);
  dialog.setIndeterminate(false);
  dialog.setCancelable(false);
  dialog.setOnCancelListener(null);
  dialog.show();
  return dialog;
 }
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP