Я разрабатываю приложение для Android, в котором я проверяю тип мобильной сети передачи данных для 2G, 3G и 4G. Я использую для этого приведенный ниже код.
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
int netType = info.getType();
int netSubType = info.getSubtype();
Я проверяю подключение 2G, используя приведенный ниже код.
if (netType == ConnectivityManager.TYPE_MOBILE && netSubType == TelephonyManager.NETWORK_TYPE_EDGE)
{
Log.e("2G enabled","2G enabled");
}
И используйте приведенный ниже код для проверки подключения 3G.
else if (netType == ConnectivityManager.TYPE_MOBILE && netSubType == TelephonyManager.NETWORK_TYPE_HSPA)
{
Log.e("3G enabled","3G enabled");
}
Однако приведенный выше код для 3G не работает. И я тоже пытался использовать приведенный ниже код.
TelephonyManager.NETWORK_TYPE_HSUPA
TelephonyManager.NETWORK_TYPE_HSPA
TelephonyManager.NETWORK_TYPE_HSDPA
Тем не менее, он не может обнаружить доступность 3G. Не понимаю, где я ошибаюсь! Пожалуйста помоги! Спасибо!