在网上找了很多文章大家都再说8.0的悬浮窗权限不开想要弹出对话框就要使用
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
然而我的在华为8.0 p10手机上没有任何反应
最终解决的办法是
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY-1
完整代码如下:
TYPE_SYSTEM_ALERT :在有些手机上不行,比如三星,努比亚的,所以使用:TYPE_TOAST
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getApplicationContext(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT); dialogBuilder.setTitle("提示"); dialogBuilder.setMessage("xxxxxxxxxxxxx"); dialogBuilder.setCancelable(false); dialogBuilder.setNegativeButton("退出登录", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); dialogBuilder.setPositiveButton("重新登录", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); AlertDialog alertDialog = dialogBuilder.create(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {//8.0新特性 alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY - 1); } else { alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST); } alertDialog.show();