Android-тің мобильді желі параметрінің мәнін «тек 2G желілерін пайдалану» үшін қайтарудың тәсілі бар ма?
Қолданба әзірленіп жатқан кезде интернет жылдамдығы белгілі бір жерде өлшенеді, бірақ бұл үшін қолданушы ұялы интернетті 2G-ге әдейі шектеп жатқанын білуі керек.
Мен ConnectivityManager-ге назар аудардым, бірақ ол тек қана ұсынады фондық деректер параметрі немесе барлық желілер туралы ақпарат. Олар арқылы қайталау, бұл параметр қосылғанына қарамастан, HSPA мен UMTS үшін
isAvailable () : true
болып табылады
for (NetworkInfo netInfo : cm.getAllNetworkInfo()) {
Log.i(TAG, netInfo.getSubtypeName() + ": " + netInfo.isAvailable());
}
Мұның бәрінен мен тапқан жалғыз кеңес болып табылады. ] netInfo.getReason ()
параметр қосылған кезде HSPA және UMTS-те «connectionDisabled» мәнін қайтарады. Қиындық мынада, егер параметр өшірілген болса, бұл желінің түрлері міндетті түрде тізімде көрінбейді. HSPA және UMTS-те «connectionDisabled» үшін жолдарды салыстыруды қолдану маған дұрыс емес сияқты.
Мұны шешудің дұрыс әдісі қандай?