दिलचस्प पोस्ट
एंड्रॉइड: पार्सलेट योग्य और सीरियलजबल के बीच अंतर? SSL / TLS सुरक्षित चैनल – एसओएपी के लिए विश्वास संबंध स्थापित नहीं किया जा सका जावा ईई 6 में जावा वेब अनुप्रयोग बनाने के लिए क्या सीखें? स्ट्रिंग से सभी इमोजी निकालने के लिए regex क्या है? इंटेंट्स के माध्यम से ईमेल प्रोग्राम कैसे खोलें (लेकिन केवल एक ईमेल प्रोग्राम) एचटीएमएल और जावास्क्रिप्ट प्रोग्रामिंग के लिए कुछ बेहतरीन संदर्भ साइटें क्या हैं डेकोरेटर पैटर्न का उपयोग कब करना है? एएसएलएलएफ़र के साथ एनएसयूआरएलएशन समवर्ती अनुरोध एंड्रॉइड में फेसबुक पर वीडियो अपलोड करें मैं Win32 ऐप में डिबग आउटपुट विंडो को कैसे प्रिंट करूं? क्या पीडीओएसटीएटमेंट :: बिंदपाम () वैकल्पिक पास पैरामीटर नामों के लिए अग्रणी बृहदान्त्र है? उद्देश्य सी के ivars बनाम गुणों का उपयोग करने के कारण कब करना उचित है? परिदृश्य में सॉफ्ट कीबोर्ड इनपुट के लिए फुलस्क्रीन संपादन दृश्य को अक्षम करना? फ़ाइलें और छोरें मिलाएं

मैं कैसे देखूं अगर वाई-फाई एंड्रॉइड पर कनेक्ट है?

मैं नहीं चाहता कि मेरा उपयोगकर्ता कुछ भी डाउनलोड करने का प्रयास करे, जब तक कि वाई-फ़ाई कनेक्ट न हो हालांकि, मैं केवल यह बता सकता हूं कि वाई-फाई सक्षम है या नहीं, लेकिन उनके पास अभी भी एक 3G कनेक्शन हो सकता है।

android.net.wifi.WifiManager m = (WifiManager) getSystemService(WIFI_SERVICE); android.net.wifi.SupplicantState s = m.getConnectionInfo().getSupplicantState(); NetworkInfo.DetailedState state = WifiInfo.getDetailedStateOf(s); if (state != NetworkInfo.DetailedState.CONNECTED) { return false; } 

हालांकि, राज्य मैं उम्मीद नहीं कर रहा हूं। हालांकि वाई-फाई से जुड़ा हुआ है, मुझे राज्य के रूप में OBTAINING_IPADDR मिल रहा है।

Solutions Collecting From Web of "मैं कैसे देखूं अगर वाई-फाई एंड्रॉइड पर कनेक्ट है?"

आप वाई-फाई एडाप्टर की स्थिति पाने के लिए कनेक्टिविटी प्रबंधक का उपयोग करने में सक्षम होना चाहिए। वहां से आप यह जांच सकते हैं कि क्या यह जुड़ा हुआ है या यहां तक ​​कि उपलब्ध है ।

 ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mWifi.isConnected()) { // Do whatever } 

नोट: यह नोट किया जाना चाहिए (हमारे लिए यहाँ n00bies) जो आपको जोड़ने की आवश्यकता है

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

आपके

AndroidManifest.xml इसके लिए काम करने के लिए

नोट 2 : public NetworkInfo getNetworkInfo (int networkType) को अब बहिष्कृत किया गया है:

इस विधि को एपीआई स्तर 23 में पदावनत किया गया था। यह विधि एक ही प्रकार के एकाधिक कनेक्टेड नेटवर्क का समर्थन नहीं करती है। बजाय getAllNetworks () और getNetworkInfo (android.net.Network) का उपयोग करें

चूंकि विधि NetworkInfo.isConnected () को अब API-23 में पदावनत किया गया है, यहां एक ऐसी विधि है जो पता लगाती है कि वाई-फाई एडाप्टर चालू है और इसके बजाय WifiManager का उपयोग करने वाले किसी एक्सेस बिंदु से भी कनेक्ट किया गया है:

 private boolean checkWifiOnAndConnected() { WifiManager wifiMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE); if (wifiMgr.isWifiEnabled()) { // Wi-Fi adapter is ON WifiInfo wifiInfo = wifiMgr.getConnectionInfo(); if( wifiInfo.getNetworkId() == -1 ){ return false; // Not connected to an access point } return true; // Connected to an access point } else { return false; // Wi-Fi adapter is OFF } } 

मैं बस निम्नलिखित का उपयोग करता हूं:

 SupplicantState supState; wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); supState = wifiInfo.getSupplicantState(); 

जिस समय से आपको कॉल मिलती है, SUPPLICANTState ();

एसोसिएटेड – एसोसिएशन ने पूर्ण किया।

एसोसिएटिंग – एक एक्सेस प्वाइंट से संबद्ध करने की कोशिश कर रहा है

COMPLETED – सभी प्रमाणन पूर्ण।

विसंगत – यह राज्य इंगित करता है कि क्लाइंट संबद्ध नहीं है, लेकिन पहुंच बिंदु की तलाश शुरू करने की संभावना है।

DORMANT – एक एंड्रॉइड-जोड़ा गया राज्य जो सूचित किया जाता है जब कोई क्लाइंट एक स्पष्ट डिस्नेनेक्ट कमांड जारी करता है

चार_वे_हाण्डशेक – डब्लूपीए 4-वे कुंजी हैंडशेक प्रगति में है

GROUP_HANDSHAKE – WPA समूह कुंजी हैंडशेक प्रगति में है

निष्क्रिय – निष्क्रिय राज्य

INVALID – एक छद्म राज्य जिसे आमतौर पर कभी नहीं देखा जाना चाहिए।

स्कैनिंग – एक नेटवर्क के लिए स्कैनिंग

अनइंस्टिलीजेड – कोई कनेक्शन नहीं।

मैं इस तरह से कुछ सवालों पर एक नजर डाली और इस के साथ आया था:

 ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); NetworkInfo mobile = connManager .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (wifi.isConnected()){ // If Wi-Fi connected } if (mobile.isConnected()) { // If Internet connected } 

मैं रूट उपकरण बॉक्स प्रो में अपने लाइसेंस की जांच के लिए उपयोग करता हूं, और यह बहुत अच्छा काम करता है

मैं यह देखने के लिए अपने ऐप में यह प्रयोग कर रहा हूं कि सक्रिय नेटवर्क वाई-फ़ाई है या नहीं:

 ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo ni = cm.getActiveNetworkInfo(); if (ni != null && ni.getType() == ConnectivityManager.TYPE_WIFI) { // Do your work here } 

WifiManager का उपयोग कर आप कर सकते हैं:

 WifiManager wifi = (WifiManager) getSystemService (Context.WIFI_SERVICE); if (wifi.getConnectionInfo().getNetworkId() != -1) {/* connected */} 

विधि getNeworkId 1 देता है जब वह किसी नेटवर्क से कनेक्ट नहीं है;

 ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); boolean is3g = manager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting(); boolean isWifi = manager.getNetworkInfo( ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting(); Log.v("", is3g + " ConnectivityManager Test " + isWifi); if (!is3g && !isWifi) { Toast.makeText( getApplicationContext(), "Please make sure, your network connection is ON ", Toast.LENGTH_LONG).show(); } else { // Put your function() to go further; } 

जबकि जेसन का उत्तर सही है, आजकल getNetWorkInfo (int) एक बहिष्कृत विधि है तो, अगला कार्य एक अच्छा विकल्प होगा:

 public static boolean isWifiAvailable (Context context) { boolean br = false; ConnectivityManager cm = null; NetworkInfo ni = null; cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); ni = cm.getActiveNetworkInfo(); br = ((null != ni) && (ni.isConnected()) && (ni.getType() == ConnectivityManager.TYPE_WIFI)); return br; } 

इस पद्धति का प्रयास करें

 public boolean isInternetConnected() { ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); boolean ret = true; if (conMgr != null) { NetworkInfo i = conMgr.getActiveNetworkInfo(); if (i != null) { if (!i.isConnected()) { ret = false; } if (!i.isAvailable()) { ret = false; } } if (i == null) ret = false; } else ret = false; return ret; } 

इस पद्धति से इंटरनेट कनेक्शन उपलब्ध है या नहीं मिलेगा।

यह मेरे लिए काम करता है:

  ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // Mobile State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); // Wi-Fi State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); // And then use it like this: if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING) { Toast.makeText(Wifi_Gprs.this,"Mobile is Enabled :) ....",Toast.LENGTH_LONG).show(); } else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) { Toast.makeText(Wifi_Gprs.this,"Wifi is Enabled :) ....",Toast.LENGTH_LONG).show(); } else { Toast.makeText(Wifi_Gprs.this,"No Wifi or Gprs Enabled :( ....",Toast.LENGTH_LONG).show(); } 

और यह अनुमति जोड़ें:

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

मेरे ऐप में उपयोगिता विधि के रूप में मैं इसका उपयोग करता हूं:

 public static boolean isDeviceOnWifi(final Context context) { ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); return mWifi != null && mWifi.isConnectedOrConnecting(); } 

नया संस्करण एंड्रॉइड में

 private void getWifiInfo(Context context) { ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); Network[] networks = connManager.getAllNetworks(); if(networks == null || networks.length == 0) return; for( int i = 0; i < networks.length; i++) { Network ntk = networks[i]; NetworkInfo ntkInfo = connManager.getNetworkInfo(ntk); if (ntkInfo.getType() == ConnectivityManager.TYPE_WIFI && ntkInfo.isConnected() ) { final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if (connectionInfo != null) { // add some code here } } } } 

और भी premission जोड़

यह एक आसान समाधान है एंड्रॉइड पर वाई-फाई को सक्षम या नहीं चेकिंग स्टैक अतिप्रवाह प्रश्न देखें

अनुमति के लिए अनुमति देने के लिए कृपया manifest.xml फ़ाइल में कोड जोड़ने के लिए मत भूलें। जैसा की नीचे दिखाया गया।

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

प्रयत्न

 wifiManager.getConnectionInfo().getIpAddress() 

यह तब तक देता है जब तक डिवाइस में एक उपयोगी कनेक्शन (मेरी मशीन पर, एक सैमसंग एसएम-टी 280, एंड्रॉइड 5.1.1) है।

आप वाईफ़ाई को चालू कर सकते हैं यदि इसे निम्न के रूप में सक्रिय नहीं किया गया है। @ जेसन नाइट 2 द्वारा दिए गए उत्तर के रूप में वाईफाई स्थिति की जांच करें। अगर सक्रिय नहीं है, तो इसे मैनिफेस्ट फ़ाइल में वाईफ़ाई अनुमति जोड़ने के लिए मत भूलना सक्रिय करें

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

आपका जावा वर्ग ऐसा होना चाहिए

 public class TestApp extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //check WIFI activation ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mWifi.isConnected() == false) { showWIFIDisabledAlertToUser(); } else { Toast.makeText(this, "WIFI is Enabled in your devide", Toast.LENGTH_SHORT).show(); } } private void showWIFIDisabledAlertToUser(){ AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); alertDialogBuilder.setMessage("WIFI is disabled in your device. Would you like to enable it?") .setCancelable(false) .setPositiveButton("Goto Settings Page To Enable WIFI", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ Intent callGPSSettingIntent = new Intent( Settings.ACTION_WIFI_SETTINGS); startActivity(callGPSSettingIntent); } }); alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ dialog.cancel(); } }); AlertDialog alert = alertDialogBuilder.create(); alert.show(); } 

}