PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: Suche nach Bluetoothgeräten mit dem Handy klappt nicht.


minos5000
2005-09-28, 16:11:37
Hi,

ich hab vor kurzem damit angefangen eine Bluetooth Applikation für mein Handy (Siemens S65) zu entwerfen, hänge jedoch bereits seit einer Woche bei dem Problem, daß keine Geräte gefunden werden, wenn ich danach suche.

Ich hatte erst versucht "startInquiry" aufzurufen ohne anschließenden Wartebefehl, aber damit beendete sich die Such in dem Moment wo sie gestartet wurde.
Also hab ich mit dem "synchronized"-Befehl einen Warteaufruf eingebaut, wie es auch in anderen Implementierungen gern gemacht wird. Das Problem ist jetzt, dass er gar nicht mehr aufhört zu suchen, dabei sollte doch, selbst wenn keine Geräte gefunden werden die Suche irgendwann erfolglos terminieren, was sie aber nicht tut.


Hier mal der Code von der Suche:


class BluetoothClient implements DiscoveryListener {

private DiscoveryAgent agent;
private Vector devices = new Vector();

public BluetoothClient() {
try {

LocalDevice local = LocalDevice.getLocalDevice();
agent = local.getDiscoveryAgent();
} catch(BluetoothStateException e) {

}
}

public void searchDevices() {
try {

agent.startInquiry(DiscoveryAgent.GIAC, this);

synchronized (this) {
try {
this.wait();
} catch (Exception e) {
}
}

} catch (BluetoothStateException e) {

}
}

public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) {

synchronized(this) {
this.notify();
}
devices.addElement(btDevice);

}

public void serviceSearchCompleted(int transID, int respCode) {

synchronized (this) {
this.notifyAll();
}
}

public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {
}

public void inquiryCompleted(int discType) {
synchronized (this) {
try {
this.notifyAll();
} catch (Exception e) {
}
}
}

public int getNumberDevices() {
return devices.size();
}
}




Hoffentlich findet jmd was, ich bin mit meinem Latein am Ende. Ich hab mit bei der Implementierung eng an ein Beispiel von Sun gehalten, das einwandfrei auf dem Handy läuft.



so long minos

The Tank
2005-10-07, 16:34:11
Guggst du auf http://www.benhui.net/