Question

J'essaie de faire de mon application Android Enregistrer un service via ZeroConf pendant que l'application est active, puis de le désinscrire après la sortie de l'application. Dans ma méthode onResume, j'ai le code suivant:

    // 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);
    }

puis par la suite dans ma méthode onPause:

    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);
    }

J'ai éliminé le code qui facilite la multidiffusion, etc. Le point est que je peux très bien enregistrer le service et je peux ensuite le voir en utilisant un navigateur ZeroConf sur un autre appareil. Cependant, une fois enregistré, le service ne disparaît jamais à moins que je désactive réellement le WiFi sur l'appareil qui a enregistré le service. L'appel à la main-d'œuvre démêle ne semble pas affecter réellement un enregistrement de service. Les services de désironal ne semblent pas non plus avoir d'effet. Quelqu'un a-t-il des idées?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top