0

当我按下我的应用程序上的按钮打开图像时,它会显示正在下载的图像的进度条,然后它会打开。如果没有 wifi 连接,它会显示一条错误消息,说“没有 wifi”。我使用下面的代码来检查 wifi 连接:

        ConnectivityManager cm =
                (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        boolean isConnected = activeNetwork.isConnectedOrConnecting();
        boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

我想实现连接丢失时显示的错误消息。因此,如果您单击图像并在下载图像时关闭 wifi,则会显示一条消息“wifi 已断开连接”。

这可能吗?无论是连接丢失还是没有wifi,您所做的只是检查是否有可用的连接,这是同一回事

4

2 回答 2

0

您需要使用BroadcastReceiver将在 Wi-Fi 的连接状态发生变化时触发的 。

注册前设置以下内容BroadcastReceiver

private class ConnectionChangeReceiver extends BroadcastReceiver {
public void onReceive( Context context, Intent intent ) {
Log.d(tag, "Inside Broadcast Reciever");
CheckWifiStatus();
}
}

private void RegisterWifiWatcher()
{
if(wifiWatcher == null)
wifiWatcher = new ConnectionChangeReceiver();

    final IntentFilter intentFilter= new IntentFilter();
    intentFilter.addAction("android.net.wifi.WIFI_STATE_CHANGED");
    intentFilter.addAction("android.net.wifi.STATE_CHANGE");    
    registerReceiver(wifiWatcher, intentFilter);
}

WIFI_STATE_CHANGED:

广播意图操作,指示 Wi-Fi 已启用、禁用、启用、禁用或未知。

清单中的权限:

<user-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<user-permission android:name="android.permission.ACCESS_WIFI_STATE" />

注意: 我们收到的针对不同 WiFi 状态的广播意图具有附加信息,您可以访问这些信息以确定 WiFi 连接的不同状态。

于 2013-08-17T20:41:41.803 回答
0

当然可以。在上面的答案中添加另一个选项:

如果 wifi 可用,您可以先检查您的代码。

然后开始下载图像,如果您在此期间发现异常,则举杯 wi-fi 已断开连接。

于 2013-08-17T20:43:05.887 回答