Android Dialog设置TYPE_SYSTEM_ALERT 有些手机不能显示问题


  在对话框初始的时候,设置
mProgressDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

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


<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />


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


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

猜你喜欢

转载自592713711.iteye.com/blog/2316150
今日推荐