I am using androids built in Network Service Discovery to find device B from device A however it doesn't discover the service from A but finds everything else printers etc.
The Register service triggers the call back informing me the service was registered on A but i still cant find it on Device B.
I am adding the services found to a list from which i update a list view for those wondering what the extra code is for.
Anyone have any ideas as to why i cant find the service?
Thanks in advance.
The Register service triggers the call back informing me the service was registered on A but i still cant find it on Device B.
Code:
public void registerService(int port) {
tearDown();
NsdServiceInfo serviceInfo = new NsdServiceInfo();
serviceInfo.setPort(port);
serviceInfo.setServiceName(mServiceName);
serviceInfo.setServiceType(SERVICE_TYPE);
initializeRegistrationListener();
manager.registerService(
serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);
}
@Override
public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
mServiceName = NsdServiceInfo.getServiceName();
Log.d("Quiz", "Regsistered name " + NsdServiceInfo.getServiceName());
Log.d("Quiz", "Regsistered port " + String.valueOf(NsdServiceInfo.getPort()));
Log.d("Quiz", "Service Type " + NsdServiceInfo.getServiceType());
}
public void discoverServices() {
stopDiscovery(); // Cancel any existing discovery request
initializeDiscoveryListener();
manager.discoverServices(
SERVICE_TYPE, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
}
@Override
public void onServiceFound(NsdServiceInfo service) {
Log.d("Quiz", "Services " +service.getServiceName());
Log.d("Quiz", "Port " +String.valueOf(service.getPort()));
Log.d("Quiz", "Service Type " + service.getServiceType());
boolean found=false;
if (service.getServiceType().equals(SERVICE_TYPE)) {
if(servers.size()==0){
servers.add(service.getServiceName());
// Log.d("Quiz", "Services Added");
}
for(int i=0;i<servers.size();i++){
if(servers.get(i).equals(service.getServiceName()))
{
found=true;
}
}
}
if(found==false) {
servers.add(service.getServiceName());
// Log.d("Quiz", "Services Added");
}
}
Anyone have any ideas as to why i cant find the service?
Thanks in advance.