दिलचस्प पोस्ट
जावा में द्विदिश बहु-मूल्यवान मानचित्र MKMapView के लिए आईफोन टच इवेंट्स को अवरुद्ध / अपहरण करना कोड से डेटा एनोटेशन कैसे प्राप्त करें? (प्रोग्राम के रूप में) कंसोल में प्रवेश के बिना कुंजी दबाएं हास्केल डेटा प्रकारों की स्मृति पदचिह्न एक SQLite क्वेरी में LIMIT कथन का उपयोग करना जावास्क्रिप्ट / jquery का उपयोग करते हुए मौजूदा वेबपेज के स्क्रीन शॉट कैसे लें अजगर फ़ाइलों को संपादित करते समय लाइनों की शुरुआत में टिप्पणियां नहीं डालने के लिए vim को कॉन्फ़िगर कैसे करें डेटाटाइबल के साथ कई स्तंभों को संक्षेप में प्रस्तुत करना WinForms में radiobuttons के एक समूह को दूर करने का सर्वोत्तम तरीका मैं C ++ कंटेनर में भिन्न प्रकार के ऑब्जेक्ट कैसे स्टोर कर सकता हूं? <option> tag के अंदर href लिंक का उपयोग कर ओपनजीएल 2 बनावट आंतरिक प्रारूप GL_RGB8I, जीएल_आरजीबी 32 यूआई, आदि मेटा टैग के साथ ताज़ा करने पर इनपुट मान को याद करने से फ़ायरफ़ॉक्स को रोकना XML पार्सिंग के लिए सर्वश्रेष्ठ नोड मॉड्यूल

पता लगाएँ कि क्या एंड्रॉइड पर एक इंटरनेट कनेक्शन उपलब्ध है

संभव डुप्लिकेट:
एंड्रॉइड पर इंटरनेट एक्सेस कैसे जांचें? InetAddress कभी समयबाह्य नहीं है

मुझे यह पता लगाना होगा कि एंड्रॉइड डिवाइस इंटरनेट से जुड़ा है या नहीं।

NetworkInfo क्लास एक गैर-स्थिर विधि प्रदान करता है उपलब्ध isAvailable() जो सही लगता है।

समस्या यह है कि:

 NetworkInfo ni = new NetworkInfo(); if (!ni.isAvailable()) { // do something } 

इस त्रुटि को फेंकता है:

 The constructor NetworkInfo is not visible. 

सुरक्षित शर्त यह है कि एक और वर्ग है जो एक NetworkInfo ऑब्जेक्ट देता है। लेकिन मुझे नहीं पता कि कौन सा

  1. काम करने के लिए कोड का ऊपर स्निपेट कैसे प्राप्त करें?
  2. मुझे ऑनलाइन प्रलेखन में आवश्यक जानकारी कैसे मिली?
  3. क्या आप इस तरह के पता लगाने के लिए एक बेहतर तरीका सुझा सकते हैं?

Solutions Collecting From Web of "पता लगाएँ कि क्या एंड्रॉइड पर एक इंटरनेट कनेक्शन उपलब्ध है"

ConnectivityManager getActiveNetworkInfo() की getActiveNetworkInfo() पद्धति एक NetworkInfo उदाहरण देता है जो पहले कनेक्टेड नेटवर्क इंटरफ़ेस का प्रतिनिधित्व करता है जो इसे पा सकते हैं या null अगर इंटरफेस से कोई भी कनेक्ट नहीं है। अगर यह विधि बताती है कि क्या यह इंटरनेट कनेक्शन उपलब्ध है या नहीं, तो यह बताने के लिए पर्याप्त नहीं होना चाहिए।

 private boolean isNetworkAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null && activeNetworkInfo.isConnected(); } 

आपको इसकी भी आवश्यकता होगी:

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

आपके एंड्रॉयड मेनिफेस्ट में

संपादित करें:

ध्यान दें कि एक सक्रिय नेटवर्क इंटरफेस होने की गारंटी नहीं है कि एक विशेष नेटवर्क सेवा उपलब्ध है। नेटवर्क के मुद्दों, सर्वर डाउनटाइम, कम सिग्नल, कैप्टिव पोर्टल्स, कन्टैंट फिल्टर और पसंद आपके ऐप को सर्वर तक पहुंचने से रोक सकते हैं। उदाहरण के लिए आप यह सुनिश्चित करने के लिए नहीं बता सकते हैं कि आपका ऐप चहचहाना सेवा से वैध प्रतिक्रिया प्राप्त करने तक ट्विटर तक पहुंच सकता है।

मैं वाई-फाई और मोबाइल इंटरनेट दोनों के लिए निम्नानुसार जांच करता हूं …

 private boolean haveNetworkConnection() { boolean haveConnectedWifi = false; boolean haveConnectedMobile = false; ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo[] netInfo = cm.getAllNetworkInfo(); for (NetworkInfo ni : netInfo) { if (ni.getTypeName().equalsIgnoreCase("WIFI")) if (ni.isConnected()) haveConnectedWifi = true; if (ni.getTypeName().equalsIgnoreCase("MOBILE")) if (ni.isConnected()) haveConnectedMobile = true; } return haveConnectedWifi || haveConnectedMobile; } 

जाहिर है, यह व्यक्तिगत रूप से विशिष्ट कनेक्शन प्रकारों की जांच के लिए आसानी से संशोधित किया जा सकता है, उदाहरण के लिए, अगर आपके ऐप को वाई-फाई की संभावित उच्च गति की जरूरत है ताकि सही तरीके से काम किया जा सके।

चरण 1: अपने प्रोजेक्ट में क्लास ऐपस्टैटस बनाएं (आप किसी अन्य नाम भी दे सकते हैं) तो कृपया नीचे दिए गए पंक्तियों को अपने कोड में पेस्ट करें:

 import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.util.Log; public class AppStatus { private static AppStatus instance = new AppStatus(); static Context context; ConnectivityManager connectivityManager; NetworkInfo wifiInfo, mobileInfo; boolean connected = false; public static AppStatus getInstance(Context ctx) { context = ctx.getApplicationContext(); return instance; } public boolean isOnline() { try { connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); connected = networkInfo != null && networkInfo.isAvailable() && networkInfo.isConnected(); return connected; } catch (Exception e) { System.out.println("CheckConnectivity Exception: " + e.getMessage()); Log.v("connectivity", e.toString()); } return connected; } } 

चरण 2: अब यह जांचने के लिए कि आपके डिवाइस में नेटवर्क कनेक्टिविटी है, तो बस इस कोड स्निपेट को जोड़ें जहां आप कभी भी जांचना चाहते हैं …

 if (AppStatus.getInstance(this).isOnline()) { Toast t = Toast.makeText(this,"You are online!!!!",8000).show(); } else { Toast t = Toast.makeText(this,"You are not online!!!!",8000).show(); Log.v("Home", "############################You are not online!!!!"); } 

इसके अलावा एक और महत्वपूर्ण नोट इस पर काम करने के लिए आपको अपने AndroidManifest.xml में android.permission.ACCESS_NETWORK_STATE सेट करना होगा।

_ मुझे ऑनलाइन प्रलेखन में मेरी ज़रूरत की जानकारी कैसे मिल सकती है?

आपको बस दस्तावेजों को कक्षाओं को पर्याप्त रूप से पढ़ना होगा और आपको उन सभी उत्तर मिलेंगे जिन्हें आप ढूंढ रहे हैं। कनेक्टिविटी प्रबंधक पर दस्तावेज़ीकरण देखें। विवरण आपको बताता है कि क्या करना है

कनेक्टिविटी प्रबंधक की getActiveNetworkInfo () पद्धति एक NetworkInfo उदाहरण देता है जो पहले कनेक्टेड नेटवर्क इंटरफ़ेस का प्रतिनिधित्व करता है जो यह ढूँढ सकता है या नल यदि कोई भी इंटरफेस कनेक्ट नहीं है। अगर यह विधि बताती है कि क्या कोई इंटरनेट कनेक्शन उपलब्ध है या नहीं, तो यह बताने के लिए पर्याप्त होना चाहिए।

 private boolean isNetworkAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null; } 

आपको इसकी भी आवश्यकता होगी:

आपके एंड्रॉयड मेनिफेस्ट में

संपादित करें:

ध्यान दें कि एक सक्रिय नेटवर्क इंटरफेस होने की गारंटी नहीं है कि एक विशेष नेटवर्क सेवा उपलब्ध है। नेटवर्क के मुद्दों, सर्वर डाउनटाइम, कम सिग्नल, कैप्टिव पोर्टल्स, कंटेंट फिल्टर और पसंद आपके ऐप को सर्वर तक पहुंचने से रोक सकते हैं। उदाहरण के लिए आप यह सुनिश्चित करने के लिए नहीं बता सकते हैं कि आपका ऐप चहचहाना सेवा से वैध प्रतिक्रिया प्राप्त करने तक ट्विटर तक पहुंच सकता है।

getActiveNetworkInfo () कभी भी रिक्त नहीं देना चाहिए मुझे नहीं मालूम कि वे क्या सोच रहे थे जब वे उसके साथ आए। यह आपको हमेशा एक वस्तु देना चाहिए

शायद मैंने खुद को पाया है:

 ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); return connectivityManager.getActiveNetworkInfo().isConnectedOrConnecting();