안드로이드 백그라운드에서 슬립모드 진입 시 GPS가 더 이상 수집이 안되는 이슈

나의 재물운? 연애운은?

AI가 봐주는 내 사주팔자 - 운세박사

https://aifortunedoctor.com/

안드로이드 백그라운드에서 슬립모드 진입 시 GPS가 더 이상 수집이 안되는 이슈

영리치 0 1,284 2023.02.15 13:36

230215 커뮤니티 질문사항

Q) 안드로이드 관련 질문드립니다. 안드로이드에서는 백그라운드에서 GPS 수집이 안드로이드 화면이 꺼지고 일정 시간이 지나면 되지 않던데 이 부분을 해결할 수 있는 것인가요? 앱 종료로 백그라운드에서 GPS 수집이 되는 건 이해하겠는데, 화면이 꺼진 경우에는 GPS 수집이 작동을 멈춥니다. 이 부분을 해결을 할 수 있는 것일까요!?


안드로이드는 백그라운드에서 작업하는것을 엄격하게 방지합니다. 도즈모드라고 합니다.

슬립상태가 되면 일정시간 이후 폰이 정지 상태가 되요

결론적으로 버그가 아닌 의도된 동작입니다

이걸 회피하는 방법은 정확히 모르겠네요 대충 알거같은데

블루투스 사용앱은 자동으로 예외처리 하는 것일수도 있어요

블루트스로 노래듣는 앱은 주로 슬립모드에서 사용하잖아요


백그라운드 사용제한에서

절전앱 예외처리 하면 됬던것같은데

ble통신할때 백그라운드는 별도로 조치 없이 화면 닫아도 잘 되던데

로우 에너지라서 그런가봐요

일단 일반 서드파티 앱이나 게임 같은경우는

os 9버전 이상에서

제가 말한 저 옵션 키면

백그라운드 제한없이 잘 돌아가요

겜할때 자주 이용하는 기능임


https://developer.android.com/training/location/background?hl=ko

gps가 배터리를 광속으로 빨아먹는 작업이라..


권한문제 아닐까요 아니면 안드로이드는 서비스쪽 건드리셔야할듯

foreground service로만 위치를 얻어올수 있다던가? 하는 제한이 있을텐데

화면이 꺼지면 foreground service가 죽어버리겠죠?

그럼 foreground service를 강제로 살리거나 갱신해주거나

그럼 foreground service를 강제로 살리거나 갱신해주거나

시간을 연장하거나 등등.. 뭐 방법은 많을듯한데요

OS보다는 ㅋㅋ

service 쪽을 알아보시는게 맞을듯

제한이 있긴한데 ACCESS_BACKGROUND_LOCATION 권한이 있으면 상관없네요?

foreground service가 화면이 꺼지면 어떻게되는지 한번 살펴보세요

https://developer.android.com/topic/performance/appstandby?hl=ko

이것도 읽어보시길

안드로이드는 스탠바이 버킷이라는 개념이 존재해서 화면이 꺼지면 앱의 우선순위가 내려갈수도있어요

앱의 우선순위가 내려가면 포그라운드 서비스가 안되겠죠

제 짧은 지식으로는 iOS는 포그라운드인 척 할수 없지만 안드로이드는 여러가지 트릭을 활용해서 백그라운드에서도 포그라운드 판정이 가능한걸로 알고있는데

이것도 최근에 바꼈을지도 모르고 ㅋㅋ


안드로이드 시스템이 sleep mode에 들어가면 우선순위가 높은 몇몇 기능들 빼고는 전부 꺼집니다. gps는 우선순위가 낮은편일거에요

그래서 노티도 화면 꺼졌을때는 안오다가 화면 켜는순간 우수수 오는 경험 몇번 하셨을거에요


음… 안드에서는 foreground로 돌아가는 서비스 (알림 리스트에 사용자가 임의로 삭제할 수 없는 노티가 떠있는다든지 시스템 화면 상으로 서비스가 돌아가고 있음을 확인할 수 있는??)는 우선순위가 높아서 잘 안 꺼지기는 하는데, 그래도 꺼지긴 할거에요. 네이티브에선 STICKY 옵션이었나??

그걸로 서비스가 꺼져도 재실행되도록 구현했었는데 플러터가 그게 될지는 모르겠네요.


백그라운드의 경우 안드로이드 오레오 이상부터 서비스 실행 제한이 걸립니다..

네 그래서 포그라운드로 돌려야합니다

뮤직앱처럼요

주기적 수집이 아니라면 workManager 도 한번 알아보세요 주기적 수집도 되긴합니다


https://developer.android.com/guide/components/services?hl=ko

서비스에 달아놓아도 안되나요?? 현 서비스는 포그라운드라서 안될것 같지는 않은데

포그라운드 없는 서비스는 구현이 안되니까요

아뇨 서비스 달아서 수집하면 됩니다

서비스를 달려면 포그라운드 기능을 필수로 구현해야 해서 그렇게 이야기들 하시는거구요


⇒ 해결책: 포그라운드로 서비스해야 한다

Comments

나의 재물운? 연애운은?

AI가 봐주는 내 사주팔자 - 운세박사

https://aifortunedoctor.com/

Category
실시간 인기글
난 아버지처럼 되지 않을래요
영리치
등록된 글이 없습니다.
Magazine
훈남/훈녀
 
 
 
상점
Facebook Twitter GooglePlus KakaoStory NaverBand