流行警报对话,而没有互联网,然后再试一次 - Android

时间:2015-12-23 09:56:39

标签: android android-alertdialog internet-connection

这不是一个重复的问题,我现在如何检查是否有互联网连接,我不知道如何在循环中弹出对话框并重试直到互联网连接回来

如果没有互联网连接,我正在尝试弹出警告对话框, 然后等待用户点击"再试一次" 当他按下按钮时,检查互联网连接,如果没有互联网连接则再次弹出此警报对话框。

当我使用if语句执行此操作时效果很好 - 当没有互联网时弹出对话框并在点击时检查连接"再试一次" 但是,当我尝试将其置于while循环中时,循环不会等待/向用户显示对话框。

这样做的正确方法是什么?为什么它现在不工作?

  input[type="button"]::-webkit-file-upload-button,
  input[type="file"]::-webkit-file-upload-button,
  button::-webkit-file-upload-button {
    cursor: pointer;
  }

1 个答案:

答案 0 :(得分:1)

尝试此代码调用getDATA()方法而onCreate()在actvity中,它可能有帮助

private void getDATA() {
        boolean isProcess;
        try {
            isProcess = Utils.isNetworkConnected(class.this) || Utils.hasActiveInternetConnection(); //method to check internet connection
        } catch (Exception e) {
            isProcess = false;
            e.printStackTrace();
        }

        if (isProcess) {
            try {          
                AlertDialog.Builder builder =
                            new AlertDialog.Builder(class.this, R.style.AppCompatAlertDialogStyle);
                    builder.setTitle(getResources().getString(R.string.app_name));
                    builder.setMessage("Internet not available?");
                    builder.setPositiveButton("Try Again", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            getDATA();
                        }
                    });                   
                    builder.setCancelable(false);
                    builder.show();
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            Crouton.makeText(class.this, MessageConstant.MsgWiFi, Style.ALERT).show();
        }
    }