«тек 2G желілерін қолдануды» анықтау параметр

Android-тің мобильді желі параметрінің мәнін «тек 2G желілерін пайдалану» үшін қайтарудың тәсілі бар ма?

Қолданба әзірленіп жатқан кезде интернет жылдамдығы белгілі бір жерде өлшенеді, бірақ бұл үшін қолданушы ұялы интернетті 2G-ге әдейі шектеп жатқанын білуі керек.

Мен ConnectivityManager-ге назар аудардым, бірақ ол тек қана ұсынады фондық деректер параметрі немесе барлық желілер туралы ақпарат. Олар арқылы қайталау, бұл параметр қосылғанына қарамастан, HSPA мен UMTS үшін true болып табылады isAvailable () :

for (NetworkInfo netInfo : cm.getAllNetworkInfo()) {
    Log.i(TAG, netInfo.getSubtypeName() + ": " + netInfo.isAvailable());
}

Мұның бәрінен мен тапқан жалғыз кеңес болып табылады. ] netInfo.getReason () параметр қосылған кезде HSPA және UMTS-те «connectionDisabled» мәнін қайтарады. Қиындық мынада, егер параметр өшірілген болса, бұл желінің түрлері міндетті түрде тізімде көрінбейді. HSPA және UMTS-те «connectionDisabled» үшін жолдарды салыстыруды қолдану маған дұрыс емес сияқты.

Мұны шешудің дұрыс әдісі қандай?

7
задан Paul Lammertsma 28 June 2011 в 15:44
поделиться