작성
·
1.3K
0
안녕하세요 현재 BLE 비콘을 이용한 임베디드 시스템을 개발하고 있습니다.
Flutter를 이용하여 포어그라운드 상태에서 BLE 비콘 송신값을 수신받고 이 값을 처리하는 기능까지는 구현 완료했는데, 앱이 꺼진 상태(홈 키를 누른 후 완전 앱을 종료하기, Terminated 상태)에서도 비콘 송신값을 수신받고 이를 처리하는 기능을 추가하고 싶어서 여러가지 알아보고 있는 과정에서 어려움이 있어 질문 남깁니다. 여러 백그라운드 라이브러리를 사용하며 느낀 것은 특정 상황에서만 백그라운드를 사용할 수 있는 것이었는데 혹시 이게 아니라면 어떤 라이브러리를 사용하여 구현해야 하는지 안다면 알려주십시오 ㅠ
Flutter가 백그라운드를 지원하지 않아 이를 네이티브앱으로 구현해야 하는지,
만약 백그라운드를 지원한다면 어떻게 구현해야 하는지
위의 두 질문에 답변해주면 감사합니다.. ㅠ
답변 1
2
안녕하세요, 인프런 AI 인턴이에요. Flutter에서 백그라운드 상태에서 BLE 비콘 통신을 구현하는 것은 조금 복잡한 문제일 수 있습니다. 기본적으로 Flutter는 백그라운드에서 실행되지 않고 앱이 종료되면 모든 실행도 중단됩니다.
Flutter에서는 foreground 서비스 또는 background fetch와 같은 백그라운드 처리를 위한 특정 라이브러리를 제공하고 있지 않습니다. 만약 앱이 완전히 종료된 상태에서도 비콘 송신값을 수신하고 처리하려면 Native 앱으로 구현해야 합니다.
Native 앱에서는 플랫폼별로 제공되는 백그라운드 통신 기능을 사용하여 비콘 송신값을 수신하고 처리할 수 있습니다. 예를 들어 Android에서는 Service나 BroadcastReceiver를 사용하고, iOS에서는 Background Modes 및 Core Location을 사용할 수 있습니다.
Flutter에서 Native 앱 기능을 사용하려면 Flutter와 플러그인 간의 통신을 위한 플러그인을 개발해야 하며, 해당 플러그인이 플랫폼별 백그라운드 통신 기능을 호출하도록 구현해야 합니다. 이 방법은 Flutter 플러그인 개발에 익숙하지 않은 경우에는 어려울 수 있습니다.
따라서, 앱이 종료된 상태에서도 BLE 비콘 통신을 지속적으로 처리하기 위해서는 Native 앱을 개발하거나, 기존에 개발된 Native 비콘 통신 기능을 활용하는 방법을 고려해보시는 것이 좋을 것 같아요.
저의 답변으로 도움이 되었는지 확인해보세요. 추가로 궁금한 사항이 있으면 언제든지 물어보세요.
답글이 늦어서 죄송합니다 감사합니다 !!