android - 检查手机是否使用 WIFI 或数据/3G

标签 android

假设设备上同时启用了 WIFI 和数据/3G,我如何检查用户当前是否正在通过 wifi 或数据计划使用互联网(假设它们都已启用)。所以我不需要检查它们是启用还是禁用,我想检测用户实际使用的是哪一个。

我一直在做以下事情,这是唯一的解决方案吗?

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == NetworkInfo.DetailedState.CONNECTED) {
    String ssid = wifiInfo.getSSID();
}

最佳答案

void chkStatus() {
    final ConnectivityManager connMgr = (ConnectivityManager)
    this.getSystemService(Context.CONNECTIVITY_SERVICE);
    final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    if (wifi.isConnectedOrConnecting ()) {
        Toast.makeText(this, "Wifi", Toast.LENGTH_LONG).show();
    } else if (mobile.isConnectedOrConnecting ()) {
        Toast.makeText(this, "Mobile 3G ", Toast.LENGTH_LONG).show();
    } else {
        Toast.makeText(this, "No Network ", Toast.LENGTH_LONG).show();
    }
}

关于android - 检查手机是否使用 WIFI 或数据/3G,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148371/

相关文章:

java - 限制按钮点击次数

java - LIBGDX:NPE 错误跟踪和实例化

android - 测量我的应用程序的网络使用情况

android - ListView 在 Scroll 上显示错误的项目

java - 清除 RAM 停止显示通知

android - Android 中的 HttpPost - 无法识别的字符

Android:使用固定纵横比的相机拍摄图像后裁剪图像

android - Admob 测试广告未显示,但真实广告显示

android - Zebra 打印机无法打印 ZPL 格式

android - Android 中的 LiveDataScope 与 ViewModelScope