Я использую TelephonyManager, чтобы получить тип сети, как в getNetworkType()
. В настоящее время я вижу только сети CDMA и GSM. Как определить WiMAX как networkType. Телефон Sprint HTC EVO 4G поддерживает WiMAX, и когда я использую getNetworkType()
, я получаю NETWORK_TYPE_EVDO_A
, даже если телефон находится в сети WiMAX.
Как узнать, подключен ли телефон к WiMAX
Ответы (2)
Ознакомьтесь с этим здесь
Раздел 2.1 содержит пример и вызовы методов для определения того, включено ли соединение WiMax. Это может работать только для Evo и Epic — не сказано, работает ли это для Evo Shift, но я предполагаю, что это будет нормально работать для любого устройства Android Sprint 4G.
Что-то вроде этого:
ConnectivityManager cm = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
int networkType = cm.getActiveNetworkInfo().getType();
Изменить: я только что заметил, что в документе говорится
Хотя 4G является активным соединением для передачи данных, вы можете обнаружить это только с помощью ConnectivityManager, при этом условии TelephonyManager будет по-прежнему отражать состояние сети CDMA, предоставляющей голосовые услуги. Вы не увидите никакой информации о 4G/WiMax в TelephonyManager.
Уровень API Honeycomb представил обновления для Telephony Manager, включая ряд новых сетей — обязательно отфильтруйте по API 11:
int NETWORK_TYPE_LTE Текущая сеть LTE int NETWORK_TYPE_UMTS Текущая сеть UMTS
Обратите внимание, что, вероятно, пройдет не менее 6 месяцев, прежде чем мы увидим это в «дикой природе», поскольку новые устройства (такие как HTC Thunderbolt) все еще поставляются с Froyo. Будет интересно посмотреть, какой обходной путь Verizon применил в Froyo для LTE.