最近在项目中,遇到了需要在项目中做一个全局的弹出框,由于是基于appcan平台的混合开发环境,所以想到了让普通的对话框变成能覆盖应用上的对话框。
mConfirm = new AlertDialog.Builder(mContext);
mConfirm.setTitle(inTitle);
mConfirm.setMessage(inMessage);
.......
mConfirm.setCancelable(false);
AlertDialog alertDialog = mConfirm.create();
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR );
alertDialog.show();
刚开始使用的
但是虽然修改为系统对话框,但是没有覆盖手机下边的虚拟按键(华为),导致按桌面键的时候,应用退出了但是系统对话框孤零零的显示在桌面应用上。这样等于功能只实现了一半,所以只好参考WindowManager.LayoutParams.type属性 最后经过不断调试发现这个最符合要求
WindowManager.LayoutParams.type属性