마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 v10.0에서 블루투스 백그라운드 실행이 안됩니다.

0 추천
저는 현재

Android10 에서 블루투스를 연결하고, 주위의 비콘들을 스캔하는 기능을 갖는 앱을 개발하고있습니다.

public class MyService extends Service implements BeaconConsumer 라는 서비스를 생성하였고

MyService내에서 BeaconManager를 사용하기 위하여 다음과 같이 선언하였으며,

protected static BeaconManager beaconManager;

onStartCommand 부분에서

beaconManager.enableForegroundServiceScanning를 이용하여 Foreground Service로 사용하도록 설정하였습니다.

시작 Activity인 MainActivity에서 startService로 MyService를 시작하도록 하였습니다.

Activity 창이 열린 상태에서는 문제 없이 스캔기능이 동작합니다.

하지만 App Standby Mode나 모든 Doze Mode에서는 스캐너 기능이 동작하지 않는 것 같습니다.

다시 알림 아이콘을 클릭하여 Activity 창을 활성화하면 스캐너 기능이 동작합니다.

 

특정 조건을 만족하는 지역에 진입한 경우에는 폰의 상태와 상관없이 항상 비콘을 스캔하고 그 데이터를 수신하고 싶습니다.

물론 이 기능을 구현하기 위해 필요한 모든 권한은 사용자로부터 승인을 받을 계획입니다.

폰의 상태와 관계없이 블루투스를 이용하여 비콘들 정보를 수신할 수 있도록 만드는 것이 가능합니까?

가능하다면 방법은 무엇입니까?
leedh (120 포인트) 님이 2020년 6월 8일 질문

1개의 답변

0 추천

application Class에서 적용하시면 됩니다. 

beaconManager.enableForegroundServiceScanning으로 알아서 서비스처리해줘요 문서읽어보면

PGT 님이 2023년 2월 28일 답변
...