如何检查android中特定网络类型的可用性?

发布于 2024-12-25 20:29:00 字数 782 浏览 0 评论 0原文

我写了一个android应用程序,需要通过网络传输大量数据。为了保持较低的发票成本,我在配置中添加了一个开关,该开关应将应用程序切换到“仅限 wlan”模式。

不幸的是,我无法在我的应用程序中实现对 WLAN 连接的正确检查,基本思想是通过

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

我的清单添加所需的权限(这应该足以满足此目的),并实现了一个在我的活动中访问的简单方法:

protected boolean checkForNetwork(Context context, boolean wlanOnly) {
    // check via ACCESS_NETWORK_STATE
    ConnectivityManager manager = (ConnectivityManager) context.
            getSystemService(Context.CONNECTIVITY_SERVICE);
    if (!wlanOnly) {
        return manager.getActiveNetworkInfo().isConnected();
    } else {
        // hmm... 
    }
}

我我很不确定 // 嗯... 部分内容是什么。

I wrote an android app, which requires large amount of data to be transfered via the network. To keep the invoices low, I added a switch in my config, which should switch the app to "wlan only" mode.

Unluckily I was unable to implement the correct check for a WLAN connection in my app, the basic idea was adding the needed permissions via

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

in my manifest (which should suffice for this purpose) and implemented a simple method which is accessed in my activity:

protected boolean checkForNetwork(Context context, boolean wlanOnly) {
    // check via ACCESS_NETWORK_STATE
    ConnectivityManager manager = (ConnectivityManager) context.
            getSystemService(Context.CONNECTIVITY_SERVICE);
    if (!wlanOnly) {
        return manager.getActiveNetworkInfo().isConnected();
    } else {
        // hmm... 
    }
}

I'm pretty unsure what goes into the // hmm... part.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

〆凄凉。 2025-01-01 20:29:00

试试这个:

NetworkInfo info = manager.getActiveNetworkInfo();
if (info.getType() == ConnectivityManager.TYPE_WIFI) {
    return info.isConnected();
}

Try this:

NetworkInfo info = manager.getActiveNetworkInfo();
if (info.getType() == ConnectivityManager.TYPE_WIFI) {
    return info.isConnected();
}
吃素的狼 2025-01-01 20:29:00

状态 wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

您可以在这里查看;-)

http://developer.android。 com/reference/android/net/wifi/WifiManager.html

公共静态类 WifiConfiguration。
Status int CURRENT 这是我们当前连接的网络

State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

You can have a look here ;-)

http://developer.android.com/reference/android/net/wifi/WifiManager.html

public static class WifiConfiguration.
Status int CURRENT this is the network we are currently connected to

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文