Pregunta

Estoy tratando de que mi aplicación Android registre un servicio a través de ZeroConf mientras la aplicación está activa, y luego no lo registra después de que la aplicación sale. En mi método Onresume tengo el siguiente código:

    // register ourselves with zero conf
    try {
        JmDNS jmdns = JmDNS.create();

        serviceInfo = ServiceInfo.create("_http._tcp.local.", "My App Service", SERVER_PORT, 0, 0, false, "path=/crazycatapp");
        jmdns.registerService(serviceInfo);
    } catch (Throwable t) {
        Debug.e("Error registering service with zeroconf", t);
    }

y luego posteriormente en mi método de idagalía:

    if(serviceInfo != null) {

            // unregister ourselves with zero conf
            JmDNS jmdns = JmDNS.create();
            jmdns.unregisterService(serviceInfo);
        }
    } catch (Throwable t) {
        Debug.e("Error unregistering service with zeroconf", t);
    }

He eliminado el código que hace habilitación de multidifusión, etc. El punto es que puedo registrar el servicio bien y posteriormente puedo verlo usando un navegador ZeroConf en otro dispositivo. Sin embargo, una vez registrado, el servicio nunca desaparece a menos que realmente desactive el WiFi en el dispositivo que registró el servicio. La llamada a Unregisterservice no parece afectar un registro de servicio. UnRegisterallServices tampoco parece tener ningún efecto. ¿Alguien tiene alguna idea?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top