पर वाईफाई कनेक्ट होने तक प्रतीक्षा करें मेरे पास एक छोटा प्रोग्राम है जो वाईफ़ाई नेटवर्क से कनेक्ट करने का प्रयास कर रहा है। यह डिवाइस पर वाईफाई को सक्षम बनाता है, तो यह पहली बार है कि यह कुछ नेटवर्क नेटवर्क से कनेक्ट है, यह कनेक्शन के लिए पासवर्ड चुनने और जोड़ने के लिए डिवाइस वाईफ़ाई लोड करता है। जब तक मैं प्रोग्राम को जोड़ने के लिए पासवर्ड नहीं जोड़ता, पूरा नहीं होना चाहिए। मैं वाईफ़ाई प्रबंधक से कनेक्ट होने तक प्रतीक्षा करने के लिए कुछ कैसे जोड़ सकता हूं? मैं सोने की कोशिश करता हूं लेकिन यह एप्लिकेशन को फ्रीज करता है और कनेक्ट करने के लिए वाईफ़ाई पॉप अप मेनू नहीं प्राप्त कर रहा हूं? कोई अन्य तरीके हैं?एंड्रॉइड
Q
एंड्रॉइड
16
A
उत्तर
24
मुझे एक महीने पहले आपकी समस्या का समाधान मिला है, बस थ्रेड पुट विधि का उपयोग करें() इसमें शामिल है।
इस मामले में, मैं वाईफ़ाईएक्सप्लोरर एक्टिविटी का उपयोग सभी वाईफाई नेटवर्क को प्रदर्शित करने और उपयोगकर्ता से कनेक्ट करने की अनुमति देता हूं।
Thread t = new Thread() {
@Override
public void run() {
try {
//check if connected!
while (!isConnected(WifiExplorerActivity.this)) {
//Wait to connect
Thread.sleep(1000);
}
Intent i = new Intent(WifiExplorerActivity.this, MainActivity.class);
startActivity(i);
} catch (Exception e) {
}
}
};
t.start();
और इस समारोह वाईफ़ाई जाँच से जुड़े है या नहीं है:
public static boolean isConnected(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = null;
if (connectivityManager != null) {
networkInfo = connectivityManager.getActiveNetworkInfo();
}
return networkInfo != null && networkInfo.getState() == NetworkInfo.State.CONNECTED;
}
अपनी AndroidManifest.xml इस तरह दिखेगा यह सुनिश्चित करने के अंत में:
<activity android:name=".WifiExplorerActivity" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</activity>
इसके अलावा, आप उपयोग कर सकते हैं कनेक्ट प्रतीक्षा करने के लिए प्रोग्रेसडिअलॉग। http://developer.android.com/guide/topics/ui/dialogs.html
बहुत बहुत धन्यवाद। मैं इसका उपयोग करता हूं और यह बहुत अच्छा काम करता है – prokopis
आपको मैनिफेस्ट में '' क्यों चाहिए? (मैंने कभी इसका उपयोग नहीं किया है, और मुझे समझ में नहीं आता कि यह क्या करता है) –
MiniGod
मैं इस गतिविधि के लिए रिसीवर रजिस्टर करने के लिए android.net.conn.CONNECTIVITY_CHANGE का उपयोग करता हूं, http://stackoverflow.com/questions/8127324/connectivitymanager-android देखें -नेट-कॉन-कनेक्टिविटी-चेंज – R4j