Android Dialog设置TYPE_SYSTEM_ALERT 小米,魅族手机不能显示问题

在对话框初始的时候,设置  
Java代码   收藏代码
  1. mProgressDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);  

可以让对话框始终显示在其他应用程序的window之上,也就是说这个dialog始终处于最上层,对用户始终可见,也就是说用户按了home之后dialog还在。 
  这样做需要加上权限
 

Java代码   收藏代码
  1. "android.permission.SYSTEM_ALERT_WINDOW" />  


   但是某些手机对底层进行了修改(小米,魅族之类),系统会默认会拒绝该权限。  


解决:  
通过将type设定为TYPE_TOAST, 就可以绕过检查 
Java代码   收藏代码
  1. mProgressDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);  

你可能感兴趣的:(android)