Note that there are some explanatory texts on larger screens.

plurals
  1. POJmDNS Error - The method getInetAddresses() is undefined for the type ServiceInfo
    text
    copied!<p>For some reason it doesn't like the <code>getInetAddresses()</code> method in the lines:</p> <pre><code>Enumeration additions = (Enumeration) ev.getInfo().getInetAddresses(); if (ev.getInfo().getInetAddresses() != null &amp;&amp; ev.getInfo().getInetAddresses().length &gt; 0) { additions = ev.getInfo().getInetAddresses()[0].getHostAddress(); } </code></pre> <p><b></b></p> <pre><code>import java.io.IOException; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; import javax.jmdns.JmDNS; import javax.jmdns.ServiceEvent; import javax.jmdns.ServiceListener; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import javax.jmdns.ServiceInfo; private String type = "_workstation._tcp.local."; private JmDNS jmdns = null; private ServiceListener listener = null; private ServiceInfo serviceInfo; private void setUp() { android.net.wifi.WifiManager wifi = (android.net.wifi.WifiManager) getSystemService(android.content.Context.WIFI_SERVICE); lock = wifi.createMulticastLock("mylockthereturn"); lock.setReferenceCounted(true); lock.acquire(); try { jmdns = JmDNS.create(); jmdns.addServiceListener(type, listener = new ServiceListener() { @Override public void serviceResolved(ServiceEvent ev) { Enumeration additions = (Enumeration) ev.getInfo().getInetAddresses(); if (ev.getInfo().getInetAddresses() != null &amp;&amp; ev.getInfo().getInetAddresses().length &gt; 0) { additions = ev.getInfo().getInetAddresses()[0].getHostAddress(); } notifyUser("Service resolved: " + ev.getInfo().getQualifiedName() + " port:" + ev.getInfo().getPort() + additions); } @Override public void serviceRemoved(ServiceEvent ev) { notifyUser("Service removed: " + ev.getName()); } @Override public void serviceAdded(ServiceEvent event) { // Required to force serviceResolved to be called again (after the first search) jmdns.requestServiceInfo(event.getType(), event.getName(), 1); } }); serviceInfo = ServiceInfo.create("_test._tcp.local.", "AndroidTest", 0, "plain test service from android"); jmdns.registerService(serviceInfo); } catch (IOException e) { e.printStackTrace(); return; } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload