为什么';t AlertDialog.Builder即使在某些android设备上设置为可取消(false)后仍会保留吗?(例如:MI Pad)

为什么';t AlertDialog.Builder即使在某些android设备上设置为可取消(false)后仍会保留吗?(例如:MI Pad),android,broadcastreceiver,android-alertdialog,Android,Broadcastreceiver,Android Alertdialog,为什么AlertDialog.Builder即使在某些android设备上使用了setCancelable(false)后也不会停留很长时间?(例如:米垫)。三星和摩托G3的工作状况良好。只有在存在GCM时才会发生这种情况。 我使用的代码如下: 公共无效buildAlertMessageNotification(字符串消息){ final AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapp

为什么AlertDialog.Builder即使在某些android设备上使用了setCancelable(false)后也不会停留很长时间?(例如:米垫)。三星和摩托G3的工作状况良好。只有在存在GCM时才会发生这种情况。 我使用的代码如下:

公共无效buildAlertMessageNotification(字符串消息){

    final AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getApplicationContext(), R.style.mainActivityTheme));
    builder.setMessage(message)
            .setCancelable(false)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });

    try {
        new Thread() {
            @Override
            public void run() {
                Looper.prepare();
                final AlertDialog alertDialog = builder.create();
                alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
                alertDialog.show();
                Looper.loop();

            }
        }.start();
    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }
}