Languages

Menu
Sites
Language
라이브러리 내부에서 블루투스 통신을 하고 싶습니다.

폰과 기어 양쪽에서 쓰는 companion app에서 동일한 library를 사용하며 이 라이브러리에서도 서로 블루투스 통신을 하고 싶습니다.

 

폰                                         기어

app(lib 사용)     <->       app(lib사용)   블루투스 통신

lib                       <->         lib  블루투스 통신

 

app는 서로 블루투스통신을 하며 작동하고 lib를 사용합니다.

lib도 app가 사용할 수 있는 api를 제공하면서 lib끼리 블루투스통신을 하려고합니다.

 

기어와 폰의 어플에서 블루투스를 쓰려면 tizen sdk의 sap를 이용해야 하는 것으로 알고 있는데 tizen sdk를 쓰려면 app의 main 함수에서 callback을 등록해줘야하는 것 같습니다. 

이렇게 서로 블루투스 통신을 하는 라이브러리를 만들고 싶은데 native app개발에서 tizen sdk를 쓰는 방식과 동일하게 할 수 있는건인가요?  블루투스 페이링은 디바이스와 디바이스간의 연결인데 어떻게 send와 receive시 lib라는 것을 특정지어서 데이터를 전송할 수 있는것인가요?

sample도 native app밖에 없어서 그렇게 하면 되는것인지... 답변 부탁드려요

Responses

1 Replies
An

더 찾아보니까 sap를 이용해야 하는데 라이브러리에서는 sap를 사용하기위한 설정을 어떻게 해줘야하나요?  어플리케이션에는 있는 xml파일이 없습니다.


<application name="org.tizen.helloaccessoryconsumer">
  <serviceProfile id="/sample/hello" name="HelloAccessoryConsumer"
   role="consumer" version="1.0">
   <supportedTransports>
    <transport type="TRANSPORT_BT" />
    <transport type="TRANSPORT_WIFI" />
   </supportedTransports>
   <serviceChannel id="104" dataRate="low" priority="low"
    reliability="enable">
   </serviceChannel>
  </serviceProfile>
 </application>

 

예제에 있는것처럼 이런설정을 어떻게 해줄수가 있나요?  서비스 채널같은 경우도 라이브러리를 사용하는 app와 다르게 라이브러리만의 id를 써야할 것 같은데 이를 하드코딩할 경우 여러 app에서 스태틱 라이브러리 형태로 쓰고있을 경우 서비스 채널이 같아지게 됩니다.

라이브러리를 여러 app에서 쓸 수 있다고 할 때 각 라이브러리끼리만 sap 통신을 하려면 어떻게 해야할까요?  네이티브앱으로 완성된 sap 사용 예는 있는데 라이브러리로 해보려니 어렵네요...