문제

Android의 Bluetooth 개발에 대한 두 가지 질문 :

  1. Android에서 Bluetooth가 항상 켜져있을 수있는 방법이 있습니까 (응용 프로그램에서 장치 검색 단계가 길어질 수 있음)가 있습니까? 내가 볼 수있는 한, 기본값은 120 년대에서 카운트 하락한 것입니다.

  2. 오픈 소스 Bluetooth API 구현이 있습니까?

도움이 되었습니까?

해결책

Bluetooth 구현은 이제 Android 2.0 API에서 사용할 수 있습니다. 보다 이것 그리고 이것.

다른 팁

Bluetooth를 항상 켜져있게하는 것은 좋은 결정이 아닐 수 있습니다. 유일한 관심사가 긴 발견 지연 ( "배터리 수명")이라면 좋은 결정은 아닙니다.

타사 블루투스 API에 관해서는, 내가 들었던 유일한 것은 Ianywhere Blue SDK (Sybase에서 무료가 아닌, 평가 버전 만 사용 가능). 시스템/블루투스 그리고 블루즈 패키지.

안드로이드에 따르면 블루투스 로드맵, 대부분의 오랫동안 기다려온 Java API, Bluetooth 2.1 + EDR과 같은 것들이 향후 어느 시점에서 구현 될 것입니다.

프로젝트에 행운을 빕니다.

2.3.6에서 지연 0을 넣어 장치를 항상 볼 수 있습니다.

Intent di = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
di.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);

그만큼 블루즈 Linux의 스택은 오픈 소스 구현입니다. Windows에서도 사용할 수 있지만 API는 Linux에서 훨씬 더 완전합니다.

당신이 말할 때, 'Bluetooth를 항상 사용하도록 활성화' '는 항상 다른 장치를 발견하려고합니까?

대부분의 Bluetooth 칩에는 깊은 수면 모드가 있으며, 여기서 칩은 대부분 아래로 내려져 있으며 확립 된 링크에서 활동을 확인하기 위해 제공됩니다. 무언가를 원할 때 (발견, 연결을 만들기) 또는 기존 링크에 활동이 있습니다.

예, Bluetooth가 완전히 꺼진 경우보다 더 많은 배터리 전력을 사용하지만 총 뱀파이어는 아닙니다.

 private void ensureDiscoverable() {
    if(D) Log.d(TAG, "ensure discoverable");
    if (mBluetoothAdapter.getScanMode() !=
        BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
        Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
        discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
        startActivity(discoverableIntent);
    }

http://developer.android.com/reference/android/bluetooth/bluetoothadapter.html#action_request_discoverable

Bluecove Java의 오픈 소스 Bluetooth 구현입니다.

그것은 많은 다른 기계에서 작동하며 올바른 경우 어딘가에 숨어있는 Android 호환 버전이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top