我嘗試創建一個提供公共可用服務的MIDlet,但下面的代碼是不夠的。該服務已開啓(無例外),但仍無法發現。如何使藍牙服務公開發現?
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();
}
的URL的結構如下
private final static String serviceURL = "btspp://localhost:" + servieceUUID +
";name=" + serviceName + ";authenticate=false;master=false;encrypt=false";
經過一番google搜索,我發現,像這樣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);
但首先它並沒有解決問題,第二我不知道它實際上做了什麼。
我使用諾基亞E70。
任何想法?
在此先感謝。
你想創建什麼類型的服務?什麼在做發現?你有沒有編寫試圖發現它的代碼? – funkybro 2009-12-10 10:01:51