java - 如何实现当网络或WiFi连接时对话框消失。反之亦然?

标签 java android android-alertdialog android-connectivitymanager

我为我的 Android 应用构建对话框。它运行良好,但我遇到了一些与对话框相关的问题。

(1) 我想要互联网连接或 WiFi 连接时。对话框自动消失。

(2) 如果互联网连接丢失,应用程序正在运行。对话框再次自动出现。

if (!isConnected(Dashboard.this)) buildDialog(Dashboard.this).show();
        else {
            setContentView(R.layout.activity_dashboard);
        }
 public boolean isConnected(Context context) {

        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netinfo = cm.getActiveNetworkInfo();

        if (netinfo != null && netinfo.isConnectedOrConnecting()) {
            android.net.NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            android.net.NetworkInfo mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

            if ((mobile != null && mobile.isConnectedOrConnecting()) || (wifi != null && wifi.isConnectedOrConnecting()))
                return true;
            else return false;
        } else
            return false;
    }

    public AlertDialog.Builder buildDialog(Context c) {

        AlertDialog.Builder builder = new AlertDialog.Builder(c);
        builder.setTitle("No Internet Connection");
        builder.setMessage("You need to have Mobile Data or WiFi to access this. Press OK to Exit");
        builder.setCancelable(false);

        builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {

                Dashboard.super.onBackPressed();
            }
        });

        return builder;
    } 

最佳答案

在你的 alear daillog 中使用属性 builder.setCancelable(false);

关于java - 如何实现当网络或WiFi连接时对话框消失。反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56454713/

相关文章:

java - 在 Cucumber 中,是否可以以编程方式获取当前正在执行的步骤?

android - 制作像 Discord 这样的多平台应用程序的技巧

java - 与电子邮件地址的对话

java - Selenium 独立版已退出,代码为 null

java图像压缩任何图像格式(jpg,PNG,gif)

Java:使代码块原子化

java - 在 Android 上使用 Scribe OAuth Java 库时出错

android - 我在多处使用 AsyncTask 进行闪屏和数据库加载。这是一个好主意吗?

java - 如何在android中的另一个类中创建警报对话框

android - 我可以在 onDestroy() 函数中使用 AlertDialog 吗?