2009-12-10 3 views
1

공개적으로 사용할 수있는 서비스를 제공하지만 아래 코드만으로는 충분하지 않은 MIDlet을 만들려고합니다. 서비스가 켜져 있지만 (예외는 아님) 계속 검색 할 수 없습니다. 내가 찾은 인터넷 검색을 몇 후블루투스 서비스를 공개적으로 검색 가능하게 만드는 방법은 무엇입니까?

private final static String serviceURL = "btspp://localhost:" + servieceUUID + 
     ";name=" + serviceName + ";authenticate=false;master=false;encrypt=false"; 

을 다음과 같이

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이 구성되는이 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을 사용합니다.

아이디어가 있으십니까?

미리 감사드립니다.

+0

만들려는 서비스 유형은 무엇입니까? 무엇을 발견하고 있습니까? 발견하려고하는 코드를 작성 했습니까? – funkybro

답변

0

setDiscoverable 방법을 사용하려고 했습니까?

+0

Jup - 코드 샘플에 넣는 것을 잊어 버렸습니다. –

0

나는이 질문이 정말로 오래되었다는 것을 알고 있지만, 나는 그것에 부딪쳤다. 그리고 벽에 머리를 때리는 날이 끝나자 나는 해결책을 발견했다. (I 임의로이 선택)과 0001은 서비스 클래스 ID 속성입니다 속성 0 × 1101 직렬 장치

ServiceRecord sr = LocalDevice.getLocalDevice().getRecord(service); 
DataElement de = new DataElement(DataElement.DATSEQ); 
DataElement uuid = new DataElement(DataElement.UUID, new UUID("1101",false)); 
de.addElement(uuid); 
sr.setAttributeValue(0x0001, de); 
LocalDevice.getLocalDevice().updateRecord(sr); 

UUID :

당신은 알고 뭔가 서비스의 서비스 클래스 ID를 설정해야합니다.

관련 문제