2012-03-07 2 views
3

Android 용 애플리케이션을 작성했습니다. 주요 부분은 블루투스를 통해 통신한다는 것입니다.
1. 갤럭시 S2
2. 갤럭시 지오
3. Netsurfer 터치 (정말로 저가형 로컬 [남아프리카] 로이드 태블릿을 제조)
4. Motorolla ET1
삼성 갤럭시 블루투스 드라이버

: I는 4 개 개의 디바이스가

이제 앱을 작성했습니다. 전체 구조를 테스트해야합니다. (즉 내가에서 가장 경험이 무엇 이후)

내가 먼저 블루투스 측면을 썼다 - 나는 일을 얻을 수있는 유일한 장치는 Netsurfer 터치입니다. 그것은 표준 블루투스 드라이버를 사용하고 완벽하게 작동합니다 - 나는 PC에서 신호를 수신하고 완벽하게 처리 할 수 ​​있습니다. 너무 낮은 사양이기 때문에

내 응용 프로그램의 다른 부분의 Netsurfer에서 수행 할 수 없다 (실제로 필요한 하드웨어가 없습니다). 나는 Motorlla를 시험해 보았고, 전체 앱이 예상대로 작동한다.

는하지만 지금은 갤럭시 폰 (지오와 S2 모두) 모든 컴퓨터와 연결을 거부. 그들은 좋은 쌍 것입니다,하지만 난 연결하는 블루투스 코드를 사용할 때 그냥 IOException이 얻을 : 내 코드가 아니기 때문에 서비스 검색이

실패, 나는 내 컴퓨터에없는 드라이버가 찾기 시작 " Bluetooth 주변 장치 "- 오류 코드 이 장치의 드라이버가 설치되어 있지 않습니다. (코드 28)

나는 Windows 업데이트를 사용하여 시도, 그리고 내가 삼성 키스가 설치되어, 실패, 나는 두 개의 별도의 컴퓨터에서 문제를 확인했습니다 -

하드웨어 ID 년대는 모두 실행하는 Windows 7 64 :
BTHENUM는 {00001132-0000-1000-8000-00805f9b34fb} 나는을있을 생각하지 않는다 & 0001000f_PID & 0000
BTHENUM {00001132-0000-1000-8000-00805f9b34fb} _LOCALMFG & 000F

을 _VID 문제 재치 코드가 아니라 장치의 드라이버가 필요합니다. 그러나 코드가 필요하면 여기에있는 코드를 사용하고 있습니다. http://code.google.com/p/backport-android-bluetooth/source/browse/trunk/backport-android-bluetooth201/src/backport/android/bluetooth/chat/?r=49

답변

6

내 앱에는 주식 갤럭시 S (1과 2 모두), Nexus One, HTC Desire, asus 태블릿 및 기타 장치에서 작동하는 블루투스가 있습니다.

BluetoothSocket mSocket = null; 
mBluetoothAdapter.cancelDiscovery(); 

Method method; 
try { 
      method = mBluetoothDevice.getClass().getMethod("createRfcommSocket", new Class[] {int.class}); 
      mSocket = (BluetoothSocket) method.invoke(mBluetoothDevice,1); 
    } catch (NoSuchMethodException e1) { 
      e1.printStackTrace(); 
    } catch (IllegalArgumentException e) { 
      e.printStackTrace(); 
    } catch (IllegalAccessException e) { 
      e.printStackTrace(); 
    } catch (InvocationTargetException e) { 
      e.printStackTrace(); 
    } 

mSocket.connect(); 
: 오류를 수정하는 내 응용 프로그램은 안드로이드 2.1에서, 그리고 내가 (SDK와 함께, 그것은 오류 메시지 "실패한 서비스 검색의"와, 나에게가 알 수없는 이유로 실패 somtimes) 내 코드에서이 reflaction이

하지만 그 외에는 SDK를 사용하고 모든 것이 작동합니다.

+0

은 SOOOO 감사합니다! 그것은 꿈처럼 작동합니다! –

2

문제는 최신 삼성 장치 (및 HTC 감지 장치)에 전체 Bluetooth 스택이 없다는 것입니다.

this one 같은 예를 들어 애플 리케이션 중 하나를 이러한 장치에서 작동하지 않는 이유 즉. 유일한 해결 방법은 전체 블루투스 스택을 플래시하는 것입니다 (예 : Cyanogenmod Rom을 깜박임).

+0

안녕하세요.이 정보에 대한 참조를 제공해 주시겠습니까? –

+0

HTC 장치의 경우 : http://community.htc.com/na/htc-forums/android/f/91/p/2336/8551.영문 # 삼성 및 다른 사람을위한 8551 : https://sites.google.com/site/metawatchdev/bluetooth-compatibility – Force

+0

그러나 이러한 포럼입니다. 왜 제조업체는 이에 대한 진술을 가지고 있습니까? –