안드로이드 블루투스 백그라운드 서비스 예제

안드로이드 블루투스 백그라운드 서비스 예제

서비스는 활동 호출 startService() 메서드와 같은 응용 프로그램 구성 요소 때 시작 됩니다. 일단 시작되면 시작된 구성 요소가 소멸되더라도 백그라운드에서 무기한 실행됩니다. Android 3.0부터 Bluetooth API에는 블루투스 프로필 작업에 대한 지원이 포함되어 있습니다. 블루투스 프로파일은 장치 간의 블루투스 기반 통신을 위한 무선 인터페이스 사양입니다. 핸즈프리 프로필을 예로 들 수 있습니다. 휴대폰이 무선 헤드셋에 연결하려면 두 장치 모두 핸즈프리 프로필을 지원해야 합니다. IntentService에는 응용 프로그램 매니페스트에도 항목이 필요합니다. 요소의 자식인 요소로 이 항목을 제공: 시작된 서비스에 대한 설명서에 따라 Android 3.0(API 수준 11)부터 시작하는 것이 가장 좋습니다. 헤드셋으로 전송되는 공급업체별 AT 명령(예: 플랜트로닉스 +XEVENT 명령).

예를 들어 응용 프로그램은 연결된 장치의 배터리 수준을 나타내는 브로드캐스트를 수신하고 사용자에게 알리거나 필요에 따라 다른 작업을 수행할 수 있습니다. ACTION_VENDOR_SPECIFIC_HEADSET_EVENT 의도에 대한 브로드캐스트 수신기를 만들어 헤드셋에 대한 공급업체별 AT 명령을 처리합니다. 일반적으로 android에서 startService() 메서드를 호출 하 여 서비스를 시작 하는 경우 stopService()를 사용 하 여 중지 하거나 stopSelf()를 사용 하 여 중지 할 때까지 서비스를 시작 하는 구성 요소가 소멸 되 더라도 서비스가 계속 실행 됩니다. 블루투스 연결 예제의 첫 번째 화면입니다. 블루투스 LE 지원은 안드로이드의 모든 버전에서 더 좋아지고있다. 그것은 여전히 iOS만큼 안정적이지는 않지만 거기에 도착합니다. BLE 주변 장치(예: 체중 계수, 혈압 모니터, 포도당 모니터 등)를 만드는 대부분의 공급업체는 표준 Bluetooth LE 프로파일을 따르지 않고 장치에 자체 사양을 추가하지 않습니다. 실제 Bluetooth LE 장치에 대한 지원을 추가하려는 경우 표준 BLE 사양을 따른다고 주장하더라도 항상 장치 공급업체에 샘플을 요청하십시오. 통신 흐름은 공급업체마다 다릅니다. 이제 우리는 우리의 서비스를 시작하기 위해 수신기를 만들었습니다, 요소에서 우리의 매니페스트 AndroidManifest.xml 내에서, 우리는 완전히 자격을 갖춘 경로를 지정하는 우리의 방송 수신기를 추가해야합니다 : 안드로이드 플랫폼은 블루투스에 대한 지원을 포함 네트워크 스택을 사용하면 장치가 다른 Bluetooth 장치와 무선으로 데이터를 교환할 수 있습니다. 이 예제에서는 블루투스를 활성화 하는 응용 프로그램을 만들 거 야, 근처 있을 수 있습니다 블루투스 장치를 발견, 다른 발견 되지 않은 블루투스 장치에 대 한 검사 하 고 마지막으로 두 장치 사이 채팅 응용 프로그램을 만들 블루투스 연결을 사용 하 여. Android O에서 시작하여 응용 프로그램이 백그라운드에 있는 경우(세 가지 조건 이상 확인) 응용 프로그램이 몇 분 동안 백그라운드 서비스를 만들고 실행할 수 있습니다.

android에서는 활동, 서비스 또는 수신기와 같은 구성 요소가 startService() 메서드를 사용하여 서비스를 시작할 수 있습니다. 다음은 startService 메서드를 사용하여 서비스를 시작하는 샘플 코드 코드 조각입니다. 이제 IntentService 작업을 정의하고 서비스를 트리거하기 위해 주기적으로 실행되도록 설정되는 수신기가 있습니다.

Share this post