J'essaie de créer un MIDlet qui fournit un service disponible publiquement, mais le code ci-dessous ne suffit pas. Le service est activé (pas d'exception) mais toujours pas détectable.Comment rendre un service Bluetooth publiquement détectable?
public StreamConnection waitForConnection() throws IOException {
if (this.notifier == null) {
// Create a server connection (a notifier)
this.notifier = (StreamConnectionNotifier) Connector.open(serviceURL);
}
return this.notifier.acceptAndOpen();
}
l'URL est construit comme suit
private final static String serviceURL = "btspp://localhost:" + servieceUUID +
";name=" + serviceName + ";authenticate=false;master=false;encrypt=false";
Après quelques googler j'ai trouvé qu'un code comme celui-ci aide Hould:
final ServiceRecord sr = LocalDevice.getLocalDevice().getRecord(this.notifier);
//Public browse group UUID
final DataElement element = new DataElement(DataElement.DATSEQ);
element.addElement(new DataElement(DataElement.UUID, new UUID(0x1002)));
sr.setAttributeValue(0x0005, element);
LocalDevice.getLocalDevice().updateRecord(sr);
mais d'abord il ne résout pas le problème et Deuxièmement, je n'ai aucune idée de ce qu'il fait réellement.
J'utilise le Nokia E70.
Des idées?
Merci d'avance.
Quel type de service essayez-vous de créer? Que fait la découverte? Avez-vous écrit le code qui essaie de le découvrir? – funkybro