Android - 需要帮助才能获得频段

时间:2016-11-01 15:51:43

标签: android frequency

我正试图找到当前的频段。

过去几天我在这个问题上看了很多,但我没有找到任何东西。 我需要解决方案(代码不是应用程序)。

如果我可以通过root访问权限访问此数据,那也没关系。

1 个答案:

答案 0 :(得分:0)

对于网络类型您可以使用此方法(来自here):

var

但要获得频率你应该通过AT命令直接使用手机的GSM模块,例如batchWordCounts.saveToCassandra("keyspace", "wordcounts") 用于Sierra模块,public static String getNetworkClass(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = cm.getActiveNetworkInfo(); if(info==null || !info.isConnected()) return "-"; //not connected if(info.getType() == ConnectivityManager.TYPE_WIFI) return "WIFI"; if(info.getType() == ConnectivityManager.TYPE_MOBILE){ int networkType = info.getSubtype(); switch (networkType) { case TelephonyManager.NETWORK_TYPE_GPRS: case TelephonyManager.NETWORK_TYPE_EDGE: case TelephonyManager.NETWORK_TYPE_CDMA: case TelephonyManager.NETWORK_TYPE_1xRTT: case TelephonyManager.NETWORK_TYPE_IDEN: //api<8 : replace by 11 return "2G"; case TelephonyManager.NETWORK_TYPE_UMTS: case TelephonyManager.NETWORK_TYPE_EVDO_0: case TelephonyManager.NETWORK_TYPE_EVDO_A: case TelephonyManager.NETWORK_TYPE_HSDPA: case TelephonyManager.NETWORK_TYPE_HSUPA: case TelephonyManager.NETWORK_TYPE_HSPA: case TelephonyManager.NETWORK_TYPE_EVDO_B: //api<9 : replace by 14 case TelephonyManager.NETWORK_TYPE_EHRPD: //api<11 : replace by 12 case TelephonyManager.NETWORK_TYPE_HSPAP: //api<13 : replace by 15 return "3G"; case TelephonyManager.NETWORK_TYPE_LTE: //api<11 : replace by 13 return "4G"; default: return "?"; } } return "?"; } 用于other。这也是可能的,但是像this那样艰难。或者可能类似于that,但几乎没有。