【问题标题】:How to get network status in android?如何在android中获取网络状态?
【发布时间】:2018-11-21 09:17:56
【问题描述】:

为什么要获取顶部栏中显示的wifi和手机提供商的信号状态?试图在 Stackoverflow 中搜索它没有成功。

提前致谢。

【问题讨论】:

  • Here is a link 获取 Android Internet 连接状态。 Here is documentation Android 开发人员关于如何确定和监控连接状态。 试一试
  • 你好 Yariv。我的回答对你有帮助吗?

标签: android


【解决方案1】:

要获取WiFi强度,您可以创建以下函数:

public static int calculateSignalLevel (int Rssi, int numLevels){
    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    int numOfLevels = 5;
    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numOfLevels);
}

如果要获取设备的状态以及是否联网,可以使用如下函数:

public static String getConnectivityStatusString(Context context) {
    int connected = NetworkUtil.getConnectivityStatus(context);
    String wifiStatus = null;
    if (connected == NetworkUtil.TYPE_WIFI) {
        wifiStatus = "Wifi enabled";
    } else if (connected == NetworkUtil.TYPE_MOBILE) {
        wifiStatus = "Mobile data enabled";
    } else if (connected == NetworkUtil.TYPE_NOT_CONNECTED) {
        wifiStatus = "Not connected to Internet";
    }
    return wifiStatus;
}

最后,要获取手机提供商的名称,可以使用以下函数:

public static String carrierName(){
    TelephonyManager manager =(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
    String carrierName = manager.getNetworkOperatorName();
}

我希望这能回答你的问题。

【讨论】:

  • 如果这个答案对你有帮助,请标记为已接受,以便遇到类似问题的其他人也可以参考并获得帮助。
猜你喜欢
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多