마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

블루투스 두가지 이상 UUID사용

0 추천
private static final UUID MY_UUID = UUID
   .fromString("00001112-0000-1000-8000-00805F9B34FB");
...

   try {
    
       Log.i("gahee", device.getUuids()[0].getUuid().toString());

    tmp = device.createRfcommSocketToServiceRecord( device.getUuids()[0].getUuid()); 
     
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }//createRfcommSocketToServiceRecord(MY_UUID);

    
   //Method m = device.getClass().getMethod("createRfcommSocket", new Class[] { int.class }); 
   
 //  tmp = (BluetoothSocket) m.invoke(device, 1); 
   Log.e(TAG, "create() ");
  
  mmSocket = tmp;
...

public void run() {
  Log.i(TAG, "BEGIN mConnectThread");
  setName("ConnectThread");

  // 연결을 시도하기 전에는 항상 기기 검색을 중지한다.
  // 기기 검색이 계속되면 연결속도가 느려지기 때문이다.
  
  myBluetoothAdapter.cancelDiscovery();
  // BluetoothSocket 연결 시도
  try {
   // BluetoothSocket 연결 시도에 대한 return 값은 succes 또는 exception이다.
   mmSocket.connect();
   Log.d(TAG, "Connect Success");
   //Toast.makeText(mContext, "Connect Success", Toast.LENGTH_SHORT).show();
   handler.sendMessage(Message.obtain(handler, 1));

  } catch (IOException e) {
   
   connectionFailed(); // 연결 실패시 불러오는 메소드
   //mmSocket.isConnected()
   Log.d(TAG, "Connect Fail: "+e+mmSocket.isConnected());
   handler.sendMessage(Message.obtain(handler, 2));
   // socket을 닫는다.
   try {
    mmSocket.close();
   } catch (IOException e2) {
    Log.e(TAG,
      "unable to close() socket during connection failure",
      e2);
   }
   // 연결중? 혹은 연결 대기상태인 메소드를 호출한다.
   BTTest.this.start();
   return;
  }

안녕하세요.

 

블루투스 연결을 하려고 하는데 ..

상기와 같이 하면 연결이 잘됩니다.

 

근데 현재는 UUID를 하나로만 제한해놓고 사용하게 되어있는데

2가지이상 연결이 가능하도록 할수있는 방법이 있나요 ?

now882002 (3,860 포인트) 님이 2014년 9월 17일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...