实现方式
1. 添加权限
<!--全局弹窗的权限-->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
2. 设置dialog类型
一定要在show之前设置
如果类型为TYPE_SYSTEM_ALERT需要开启悬浮窗权限 使用相当不方便
因此使用TYPE_TOAST 一般设备不需要特意去开启权限即可使用
//设置弹出全局对话框
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);
//dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dialog.show();
3 . 完整代码
public static void showDialog(final Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setCancelable(false);
builder.setTitle("呵呵哒");
builder.setMessage("嘿嘿嘿");
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(context, "确认", Toast.LENGTH_SHORT).show();
dialogInterface.dismiss();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(context, "取消", Toast.LENGTH_SHORT).show();
dialogInterface.dismiss();
}
});
AlertDialog dialog = builder.create();
//设置弹出全局对话框
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);
dialog.show();
}
参考博客:
http://www.jianshu.com/p/38f5cfe66aad