ポートが間違っている可能性があります。DiscoveryListener でサービス検索を介して接続アドレスを取得する必要があります。jsr82 では、次のようになります。
private final UUID L2CAP_UUID = new UUID(0x1106);
public String getOBEXURL(RemoteDevice dev) {
DiscoveryAgent discoveryAgent = null;
try {
LocalDevice localDevice = LocalDevice.getLocalDevice();
discoveryAgent = localDevice.getDiscoveryAgent();
}
catch (Exception e) {
return null;
}
try {
discoveryAgent.searchServices(null, new UUID[]{L2CAP_UUID}, dev, this);
} catch (Exception e) {
return null;
}
synchronized (this) {
try { wait(); }
catch (Exception e) {}
}
switch (respCode) {
case SERVICE_SEARCH_DEVICE_NOT_REACHABLE:
ps.println("Remote device could not be reached");
break;
case SERVICE_SEARCH_ERROR:
ps.println("The service search was terminated with error");
break;
case SERVICE_SEARCH_NO_RECORDS:
ps.println("No services found on device");
break;
case SERVICE_SEARCH_TERMINATED:
ps.println("The service search has been canceled by the application and did not complete");
break;
}
return obexURL;
}
public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {
obexURL = servRecord[0].getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);
}
public void serviceSearchCompleted(int transID, int respCode) {
this.respCode = respCode;
synchronized (this) { notify(); }
}