क्या "केवल 2 जी नेटवर्क का उपयोग" के लिए एंड्रॉइड की मोबाइल नेटवर्क सेटिंग के मूल्य को वापस करने का कोई तरीका है?"केवल 2 जी नेटवर्क का उपयोग करें" सेटिंग
ऐप विकसित किया जा रहा है एक निश्चित स्थान पर इंटरनेट की गति को मापता है, लेकिन इसके लिए प्रासंगिक होने के लिए, यह जानना चाहिए कि क्या उपयोगकर्ता जानबूझ कर मोबाइल इंटरनेट को 2 जी तक सीमित कर रहा है या नहीं।
मैंने कनेक्टिविटीमेनगर पर एक नज़र डाली है, लेकिन यह केवल पृष्ठभूमि डेटा सेटिंग या सभी नेटवर्क के बारे में जानकारी प्रदान करता है। उन के माध्यम से पुनरावृत्ति का पता चलता है के बावजूद सेटिंग सक्षम किया जा रहा, एचएसपीए और UMTS लौटने कि true
isAvailable()
के लिए:
for (NetworkInfo netInfo : cm.getAllNetworkInfo()) {
Log.i(TAG, netInfo.getSubtypeName() + ": " + netInfo.isAvailable());
}
केवल संकेत मैं इस सब के बीच पाया है कि netInfo.getReason()
रिटर्न "connectionDisabled" HSPA पर और UMTS जब सेटिंग है सक्षम किया गया है। समस्या यह है कि जब सेटिंग अक्षम होती है, तो उन नेटवर्क प्रकारों को सूची में जरूरी नहीं दिखता है। "कनेक्शन अक्षम" के लिए विशेष रूप से एचएसपीए और यूएमटीएस पर स्ट्रिंग तुलना का उपयोग करने के लिए मुझे सही नहीं लगता है।
इससे निपटने का सही तरीका क्या है?
कोई भी उपरोक्त स्निपेट से सार्थक जानकारी प्राप्त करने की कोशिश करने से पहले, परेशान न करें; मैंने कोशिश की। ऐसा लगता है कि जब "2 जी केवल" मोड सक्षम होता है या जब केवल उपलब्ध सिग्नल जीपीआरएस होता है, तो 3 जी नेटवर्क "कनेक्शन डिस्प्लेबल" लौटाते हैं। दूसरे शब्दों में, 'getReason() 'कोई उपयोगी जानकारी प्रदान नहीं करता है। –
[एंड्रॉइड इश्यू # 8753 इसे संबोधित करता है।] (Http://code.google.com/p/android/issues/detail?id=8753) मैंने वहां उल्लिखित सुझावों का प्रयास किया है, लेकिन परीक्षण किए गए उपकरणों पर, ' वास्तविक सेटिंग या कनेक्टिविटी स्थिति के बावजूद Set.ecure.getInt() 'हमेशा' 1' देता है। –
अनुवर्ती: समस्या # 8753 बताती है कि 'सेटिंग्स.Secure.NETWORK_PREFERENCE' इस सेटिंग को दर्शाती है। सेटिंग की अनियंत्रित है, लेकिन यह दोनों TYPE_MOBILE' पर 'TYPE_WOBII' की प्राथमिकता को प्रतिबिंबित करता है जब दोनों कनेक्शन उपलब्ध होते हैं, और जो मैं ढूंढ रहा हूं वह नहीं है। –