2012-06-07 4 views
1

블루투스에서 사용 가능한 모든 장치를 나열하고 안드로이드 장치의 모든 파일을 선택한 장치와 공유해야한다는 요구 사항이 있습니다. I 위의 코드를 실행하는 것은 전송 엔드 포인트에 로그 캣 메시지를 접속하지 나타내지 만 아래 코드블루투스를 통한 안드로이드 파일 공유

private void sharefile(String deviceAddress,String filePath){ 
     File f = new File(filePath); 
     BluetoothAdapter objBluetoothAdapter = BluetoothAdapter 
         .getDefaultAdapter(); 

       BluetoothDevice device = objBluetoothAdapter 
         .getRemoteDevice(deviceAddress); 
       Log.v("Device", "" + device.getName()); 

       final UUID uuid = UUID 
         .fromString("00001101-0000-1000-8000-00805F9B34FB"); 

       try { 
        byte[] buffer = new byte[(int) f.length()]; 
        FileInputStream fis = new FileInputStream(f); 
        BufferedInputStream bis = new BufferedInputStream(fis); 
        bis.read(buffer, 0, (int) f.length()); 

        BluetoothSocket socket = device 
          .createRfcommSocketToServiceRecord(uuid); 

        OutputStream os = socket.getOutputStream(); 
        os.write(buffer, 0, buffer.length); 
        os.flush(); 
        os.close(); 
        socket.close(); 
       } catch (SecurityException e) { 
        e.printStackTrace(); 
       } catch (IllegalArgumentException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 

    } 

사용하려고.

06-11 18 : 26 : 49.960 : System.err에/W (9812) : 때 java.io.IOException : 26 : 49.960 : 전송 엔드 포인트 06-11 18 System.err에 접속되어 있지 않은/W (9812) : android.bluetooth.BluetoothSocket.writeNative (기본 메소드) 06-11 18 : 26 : 49.960 : W/System.err (9812) : android.bluetooth.BluetoothSocket.write (BluetoothSocket.java:346) 06-11 18 : 26 : 49.960 : W/System.err (9812) : android.bluetooth.BluetoothOutputStream.write (BluetoothOutputStream.java:85) 06-11 18 : 26 : 49.960 : W/System.err (9812) : com.cit.bt.ShareMessageActivity.connectDevice (ShareMessageActivity.java:138) 06-11 18 : 26 : 49.960 : W/System.err (9812) : com.cit.bt.ShareMessageActivity.shareFile (ShareMessageActivity .java : 83) 06-11 18 : 26 : 49.960 : W/System.err (9812) : com.cit.bt.ShareMessageActivity.onListItemClick (ShareMessageActivity.java:73) 06-11 18 : 26 : 49.960 : 시스템/시스템. (9812) : android.app.ListActivity $ 2.onItemClick (ListActivity.java:319) 06-11 18 : 26 : 49.960 : W/System.err (9812) : android.widget.AdapterView.performItemClick (AdapterView .java : 284) 06-11 18 : 26 : 49.960 : W/System.err (9812) : android.widget.ListView.performItemClick (ListView.java:3736) 06-11 18 : 26 : 49.960 : W /System.err(9812) : android.widget.AbsListView $ PerformClick.run (AbsListView.java:1974) 06-11 18 : 26 : 49.960 : W/System.err (9812) : android.os.Handler .handleCallback (Handler.java:587) 06-11 18 : 26 : 49.960 : W/System.err (9812) : android.os.Handler.dispatchMessage (Handler.java:92) 06-11 18:26 : 4 9.960 : W/System.err (9812) : android.os.Looper.loop (Looper.java:130) 06-11 18 : 26 : 49.960 : W/System.err (9812) : android.app. ActivityThread.main (ActivityThread.java:3687) 06-11 18 : 26 : 49.960 : W/System.err (9812) : java.lang.reflect.Method.invokeNative (기본 메소드) 06-11 18:26 : 49.960 : System.err (9812) : java.lang.reflect.Method.invoke (Method.java:507) 06-11 18 : 26 : 49.960 : System.err (9812) : at com .android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:867) 06-11 18 : 26 : 49.960 : System.err (9812) : com.android.internal.os.ZygoteInit.main에서 (ZygoteInit.java:625) 06-11 18 : 26 : 49.960 : System.err (9812) : dalvik.system.NativeStart.main (기본 방법)

또한 장치를 연결하기 위해 대체 코드 아래에서 사용하려고 시도했지만 장치를 연결했지만 파일을 전송하지 못했습니다.

BluetoothDevice hxm = BluetoothAdapter.getDefaultAdapter() 
       .getRemoteDevice(deviceAddress); 
     Method m; 

      m = hxm.getClass().getMethod("createRfcommSocket", 
        new Class[] { int.class }); 
      BluetoothSocket socket = (BluetoothSocket) m.invoke(hxm, 
        Integer.valueOf(1)); 
      socket.connect(); 

안드로이드 매니페스트에 필요한 권한을 제공했지만 연결에 실패했습니다. 누구나이 문제를 해결할 수 있도록 도와주세요.

Android 마켓에서 Bluetooth 파일 전송이면의 논리를 알려주실 수 있습니까?

감사합니다.

답변

0

블루투스 HMX 장치가 우연히 심박수 모니터가되지 않습니까? 어느 쪽이든 우리는 좋은 예를 게시했습니다 (Google 블루투스 채팅 예제에서 형태소 분석). 예를 들어 보니 조금 더 깔끔하게 정리되었으므로 도움이 될 것입니다.

http://ww2.cs.fsu.edu/~sposaro/mobile/resources/BeatConnect.zip

+0

덕분에 당신의 대답을 ... 나는 응용 프로그램은 클라이언트 - 서버 모듈과 같은 두 장치에 설치하고 싶지 않아요. 근처의 블루투스 장치를 감지하고 파일을 공유 할 수있는 샘플을 제공 할 수 있습니까? 클라이언트 - 서버 모듈없이. Android 마켓에서 블루투스 파일을 전송하는 것과 같습니다. –

+0

블루투스 기기를 Android 기기와 페어링 해 보셨습니까? – Proxy32

+0

예. 어떻게 된 일인지 기억하지 못해 미안해. 제공된 코드가 BlueTooth HeartRate 모니터 장치와 연결된다는 것을 알고 있습니다. –

관련 문제