Android- Bluetooth가 항상 켜져있는 방법은 무엇입니까?
문제
Android의 Bluetooth 개발에 대한 두 가지 질문 :
Android에서 Bluetooth가 항상 켜져있을 수있는 방법이 있습니까 (응용 프로그램에서 장치 검색 단계가 길어질 수 있음)가 있습니까? 내가 볼 수있는 한, 기본값은 120 년대에서 카운트 하락한 것입니다.
오픈 소스 Bluetooth 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);
}
Bluecove Java의 오픈 소스 Bluetooth 구현입니다.
그것은 많은 다른 기계에서 작동하며 올바른 경우 어딘가에 숨어있는 Android 호환 버전이 있습니다.