处理网络断开的最佳方法

时间:2015-07-31 14:37:36

标签: android

我对Android很新,我创建了一个需要连接到wifi网络的小应用程序(流媒体用途)。

我创建了一个警告对话框,在连接丢失时生成。

new AlertDialog.Builder(this)
            .setTitle("Network connection problem ")
            .setMessage("Your network connection is down, please go to settings")
            .setPositiveButton("settings", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    Intent dialogIntent = new Intent(android.provider.Settings.ACTION_SETTINGS);
                    dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(dialogIntent);
                }
            })
            .setNegativeButton("quit", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    System.exit(0);
                }
            })
            .setIcon(android.R.drawable.ic_dialog_alert)
            .show();

让我们说我在手机上再次启用wifi,并且当wi-fi尚未重新连接时我回到界面。当设备再次连接到wifi时,如何让对话框消失?我应该创建一种计时器来检查每个x秒的网络状态吗?

1 个答案:

答案 0 :(得分:1)

阅读android文档的monitor connectivity chnage

建议您为"android.net.conn.CONNECTIVITY_CHANGE"操作注册接收方。在此接收器中,您可以决定用户是否已连接到wifi。

因此,当您启动应用时,请检测是否已连接wifi。并注册您的接收器以执行此操作。然后,只要连接状态发生变化(连接或断开连接),您就会收到通知。