मुझे कोई समस्या है जब मेरा ऐप वाईफाई नेटवर्क से कनेक्ट होता है तो नेटवर्क सेवा चलाना। मैं एक निम्न अपवाद विधि OpenPort() में bellowएंड्रॉइड मशीन नेटवर्क पर नहीं है
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) {
NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (networkInfo.getState() == NetworkInfo.State.CONNECTED) {
welcomeService = new BroadcastService(context, "Welcome");
Log.i(TAG, "onReceive: SUPPLICANT-STATE ---> Connected");
//do something
if (!serviceRegistered) {
welcomeService.registerService();
serviceRegistered = true;
}
}
if (networkInfo.getState() == NetworkInfo.State.DISCONNECTED) {
Log.i(TAG, "onReceive: SUPPLICANT-STATE ---> Disconnected");
//do something
unRegisterService();
}
}
}
public void unRegisterService() {
if (serviceRegistered && welcomeService != null) {
welcomeService.unregisterService();
serviceRegistered = false;
}
}
BroadcastService
public void registerService() {
NsdServiceInfo serviceInfo = new NsdServiceInfo();
serviceInfo.setServiceName(mServiceName);
serviceInfo.setServiceType("_http._tcp.");
serviceInfo.setPort(openPort());
mNsdManager = (NsdManager) mContext.getSystemService(Context.NSD_SERVICE);
mNsdManager.registerService(serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);
}
private int openPort() {
try{
// Line that throws the exception
return new ServerSocket(0).getLocalPort();
}catch (IOException ioe){
Crashlytics.logException(ioe);
ioe.printStackTrace();
return 0;
}
}
यह प्रसारण रिसीवर onl हो रही है,
java.net.SocketException: socket failed: ENONET (Machine is not on the network)
BroadcastReceiver जब मुख्य गतिविधि दिख रही है तो y चलता है। और यह पहले रन पर ठीक काम करता है लेकिन जब मैं वाईफाई नेटवर्क बदलता हूं तो ऐसा होता है। दुनिया की बहुत सराहना की मदद करें।
एक ही समस्या का सामना कर रहे हैं –
@NinadKambli नेटवर्क का इंटरनेट कनेक्शन है। क्योंकि मेरी समस्या किसी इंटरनेट से नेटवर्क से जुड़कर हुई थी और एंड्रॉइड 3/4 जी कनेक्शन का उपयोग करने के लिए चुने गए थे, जहां डिवाइस मैं जिस संवाद के साथ संवाद करने की कोशिश कर रहा हूं वह पहुंच योग्य नहीं है – Lonergan6275
समस्या हल हो गई है। मैं वाईफाई के माध्यम से डेटा भेजने के बावजूद वाईफाई के माध्यम से डेटा भेजने के लिए अपने डिवाइस को सीमित कर रहा था और जब उपयोगकर्ता मोबाइल डेटा से कनेक्ट होता है तो मैं इसे अक्षम करना भूल गया था। –