2015-09-04 6 views
6

एंड्रॉयड मेरे डिवाइस लेकिन करने के लिए करता है, तो वाईफ़ाई जुड़ा हुआ है, लेकिन इन कोई इंटरनेट कनेक्शनएंड्रॉयड इसकी जांच करने का वाईफ़ाई जुड़ा हुआ है लेकिन कोई इंटरनेट कनेक्शन वाईफ़ाई के साथ जुड़ा हुआ

पीछा कर रहा है कि मेरे कोड है कि मैं जाँच करने के लिए कोशिश कर रहा है अगर कोई इंटरनेट कनेक्शन

public static boolean isConnectedWifi(Context context) { 
     NetworkInfo info=null; 
     if(context!=null){ 
      info= IsNetConnectionAvailable.getNetworkInfo(context); 
     } 
     return (info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_WIFI); 
    } 

यह हमेशा वापस आ सच है जब कोई इंटरनेट का उपयोग

उत्तर

-2

सिर्फ यह देखने के लिए आप Wi-Fi द्वारा इंटरनेट से जुड़े हैं, नीचे दिए गए स्निपेट पर एक नजर है:

NetworkInfo getWifi(){ 
    ConnectivityManager connManager = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
    return mWifi; 
} 

जांचें कि यह जुड़ा हुआ है या नहीं;

if(getWifi().isConnected()) { 
//wi-fi connected 
} 
+0

कावेश कानवाल, यही वह नहीं है जिसे उन्होंने पूछा था। आपके द्वारा दिया गया कोड स्निपेट सिर्फ यह जांचने के लिए है कि डिवाइस वाईफ़ाई से कनेक्ट है या नहीं। यह इंटरनेट की गति का परीक्षण नहीं करता है। –

+0

ओपी ने इंटरनेट की गति को जांचने के लिए नहीं पूछा है। सौभाग्य। –

+0

उसने यह भी नहीं पूछा कि डिवाइस वाईफ़ाई से कनेक्ट है या नहीं। :) कोई इंटरनेट एक्सेस नहीं, हम बस इतना कर सकते हैं कि उस एनडब्ल्यू पर पैकेट भेजने की गति जांचें। –

1

कोड प्रयोग कर रहे हैं सिर्फ अगर तुम वाईफ़ाई करने के लिए या नहीं जुड़े हुए हैं की जाँच करने के लिए उपयोग किया जाता है। यह जांच नहीं करता है कि वह वाईफ़ाई धीमा है या नहीं। (कोई इंटरनेट धीमा कनेक्शन का मतलब नहीं है)।

मैंने इस कोड का उपयोग करने की कोशिश की। यहां, मैं google.com को हिट करने का प्रयास करता हूं और कनेक्शन टाइमआउट मान सेट करता हूं। यदि यहां इंटरनेट की गति अच्छी है, तो परिणाम वापस 200 है। तो मैं जांचता हूं कि परिणाम कोड 200 है या नहीं। यदि नहीं, तो मैं एक चेतावनी दिखाता हूं कि धीमी इंटरनेट कनेक्शन है। इसे एसिंटास्क में प्रयोग करें, औरपोस्टएक्सक्यूट() पर लौटाए गए परिणाम के मूल्य की जांच करें।

HttpURLConnection urlc = null; 
    try { 
     urlc = (HttpURLConnection) (new URL("http://www.google.com") 
       .openConnection()); 
    } catch (MalformedURLException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } catch (IOException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
    urlc.setRequestProperty("User-Agent", "Test"); 
    urlc.setRequestProperty("Connection", "close"); 
    urlc.setConnectTimeout(1000); // choose your own timeframe 
    urlc.setReadTimeout(2000); // choose your own timeframe 
    try { 
     urlc.connect(); 

     // returning connection code. 
     return (urlc.getResponseCode()); 
    } catch (IOException e1) { 
     e1.printStackTrace(); 
    } 
+0

मुझे इंटरनेट कनेक्शन की जांच करने में बहुत समय लगा –

+0

क्या कोई अन्य तरीका है –

+0

देखें, आप इसके साथ प्रयास कर सकते हैं: http://stackoverflow.com/questions/2802472/detect-network-connection-type-on-android –

संबंधित मुद्दे