【发布时间】:2018-07-12 11:11:35
【问题描述】:
我目前正在编写一个应用程序,我想检测 Android 设备当前连接到哪种网络类型(2G、3G 或 LTE)。我尝试过使用以下解决方案:
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
tm.getNetworkType()
和连接管理器:
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getSubtype()
这两种方法都可以在没有 WiFi 连接的情况下正常工作,但如果连接到 WiFi TelephonyManager 返回 https://developer.android.com/reference/android/telephony/TelephonyManager#NETWORK_TYPE_IWLAN 并且 ConnectivityManager 返回 0(未知)。
有没有什么方法可以查出手机是连接到 2G、3G 还是 LTE,即使它连接到 WiFi 网络?
【问题讨论】:
标签: android