Bluetooth API는 블루투스 프로필 작업을 지원합니다. 가 블루투스 프로필은 블루투스 기반 무선 인터페이스 사양입니다. 기기 간 통신을 지원할 수 있어야 합니다 휴대기기의 경우 헤드셋에 연결하려면 두 기기 모두 핸즈프리 프로필
Bluetooth API는 다음과 같은 블루투스의 구현을 제공합니다. 프로필:
- 헤드셋 헤드셋 프로필은 블루투스 헤드셋이
좀 더 까다로워요. Android는
BluetoothHeadset
클래스 블루투스 헤드셋 서비스를 제어하기 위한 프록시입니다. 여기에는 블루투스 헤드셋과 핸즈프리 (v1.5) 프로필을 모두 지원합니다.BluetoothHeadset
클래스에는 AT 명령에 대한 지원이 포함됩니다. 이 주제에 대한 자세한 내용은 공급업체별 AT 명령어. - A2DP 고급 오디오 전송 프로필 (A2DP) 프로필은 어떻게
블루투스를 통해 한 기기에서 다른 기기로 고품질 오디오를 스트리밍할 수 있음
연결 Android는
BluetoothA2dp
클래스: 블루투스 A2DP 서비스를 제어하기 위한 프록시입니다. - 의료 기기. Android는 블루투스 건강 기기 지원 제공
프로필 (HDP) 이를 통해 블루투스를 사용하여 서로 통신하는 앱을 만들 수 있습니다.
심박수 모니터, 혈압 등 블루투스를 지원하는 의료 기기 사용 시
미터, 온도계, 체중계 등입니다. 지원되는 기기 및
해당하는 기기 데이터 전문화 코드에 대해서는 블루투스 HDP를 참조하세요.
기기 데이터
전문 분야.
이 값은 ISO/IEEE 11073-20601 [7] 사양에서도 참조됩니다.
명명법 부록의
MDC_DEV_SPEC_PROFILE_*
에 명시되어 있습니다. 자세한 내용은 HDP에 관한 자세한 내용은 의료 기기 프로필을 참고하세요.
다음은 기본적인 프로필 작업 단계입니다.
- 다음에 설명된 대로 기본 어댑터를 가져옵니다. 블루투스 설정.
- 설정
BluetoothProfile.ServiceListener
이 리스너는BluetoothProfile
클라이언트 서비스에 연결되거나 연결 해제된 경우. - 사용
getProfileProxy()
드림 프록시 서버를 통해 연결된 프로필 프록시 객체에 대한 연결을 확인할 수 있습니다. 다음 예에서 프로필 프록시 객체는BluetoothHeadset
- 포함
onServiceConnected()
님, 프로필 프록시 객체에 대한 핸들을 가져옵니다. - 프로필 프록시 객체가 있으면 이를 사용하여 연결을 설정하고 해당 프로필과 관련된 다른 작업을 수행할 수 있습니다.
다음 코드 스니펫은 BluetoothHeadset
프록시에 연결하는 방법을 보여줍니다.
개체를 사용하여 헤드셋 프로필을 제어할 수 있습니다.
Kotlin
var bluetoothHeadset: BluetoothHeadset? = null // Get the default adapter val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter() private val profileListener = object : BluetoothProfile.ServiceListener { override fun onServiceConnected(profile: Int, proxy: BluetoothProfile) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = proxy as BluetoothHeadset } } override fun onServiceDisconnected(profile: Int) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = null } } } // Establish connection to the proxy. bluetoothAdapter?.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET) // ... call functions on bluetoothHeadset // Close proxy connection after use. bluetoothAdapter?.closeProfileProxy(BluetoothProfile.HEADSET, bluetoothHeadset)
자바
BluetoothHeadset bluetoothHeadset; // Get the default adapter BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); private BluetoothProfile.ServiceListener profileListener = new BluetoothProfile.ServiceListener() { public void onServiceConnected(int profile, BluetoothProfile proxy) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = (BluetoothHeadset) proxy; } } public void onServiceDisconnected(int profile) { if (profile == BluetoothProfile.HEADSET) { bluetoothHeadset = null; } } }; // Establish connection to the proxy. bluetoothAdapter.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET); // ... call functions on bluetoothHeadset // Close proxy connection after use. bluetoothAdapter.closeProfileProxy(bluetoothHeadset);
공급업체 특정 AT 명령어
앱이 사전 정의된 공급업체별 AT의 시스템 브로드캐스트를 수신하도록 등록할 수 있음
헤드셋에서 전송하는 명령 (예: Plantronics +XEVENT 명령) 예를 들어
앱이 연결된 기기의 배터리 수준을 나타내는 브로드캐스트를 수신할 수 있음
사용자에게 알리거나 필요한 다른 조치를 취할 수 있습니다. 방송 만들기
수신자는
ACTION_VENDOR_SPECIFIC_HEADSET_EVENT
드림
헤드셋에 관한 공급업체별 AT 명령어를 처리하기 위한 인텐트입니다.
건강 관리 기기 프로필
Android는 블루투스 의료 기기 프로필 (HDP)을 지원합니다. Bluetooth 상태
API에는
BluetoothHealth
님,
BluetoothHealthCallback
,
및
BluetoothHealthAppConfiguration
,
이는 주요 클래스 및
인터페이스를 참조하세요.
Bluetooth Health API를 사용할 때 다음과 같은 주요 HDP를 이해하면 도움이 됩니다. 개념:
- 소스
- 체중 체중계, 혈당 측정기, 체온계와 같은 건강 관리 기기 Android 휴대전화 또는 태블릿과 같은 스마트 기기로 의료 데이터를 전송함
- 싱크
- 의료 데이터를 수신하는 스마트 기기입니다. HDP 앱에서
싱크는
BluetoothHealthAppConfiguration
객체로 표현됩니다. - 등록
- 특정 상태와 통신하기 위해 싱크를 등록하는 데 사용되는 프로세스 합니다
- 연결
- 의료 기기 (출처)와 의료진 간의 채널을 여는 데 사용되는 프로세스 스마트 기기 (싱크)
HDP 앱 만들기
다음은 HDP 앱을 만드는 기본 단계입니다.
BluetoothHealth
프록시 객체에 대한 참조를 가져옵니다. 일반적인 헤드셋 및 A2DP 프로필 기기를 사용하려면getProfileProxy()
를BluetoothProfile.ServiceListener
및HEALTH
프로필 유형 프로필 프록시 객체와의 연결을 설정합니다.BluetoothHealthCallback
만들기 및 앱 구성 등록 (BluetoothHealthAppConfiguration
)입니다.의료 기기 연결을 설정합니다.
의료 기기에 성공적으로 연결되면 상태 읽기 및 쓰기 할 수 있습니다. 수신된 데이터는 IEEE 11073 사양을 참조하세요.
완료되면 건강 채널을 닫고 앱을 등록 취소합니다. 채널 또한 확장된 비활성이 있으면 닫힙니다.