반응형 foreground service2 [Android] 백그라운드 제약 안드로이드를 개발하다 보면 Background와 Foreground라는 단어를 접하게 됩니다. 이 두가지 개념을 잘 알고 있어야 하며 개발 시 너무도 많이 개발자와 싸우게 될 단어입니다. 안드로이드 앱은 기본적으로 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더 등 4개의 컴포넌트로 구성되는데 액티비티를 제외한 나머지 컴포넌트는 화면을 구현하는 용도가 아니라 백그라운드에서 작업을 처리할 목적으로 사용합니다. 예전에는 사용자가 앱을 실행해 화면이 출력된 적이 없는 상황에서도 서비스나 브로드캐스트 리시버로 백그라운드에서 작업을 처리할 수 있었지만 안드로이드 8버젼부터는 제약이 생겼습니다. 1) 리시버 백그라운드 제약 브로드캐스트 리시버의 백그라운드 제약은 sendBroadcast()함수로 인텐트를.. 2021. 11. 1. [Android] Foreground 안드로이드 시스템이 업데이트됨에 따라 OS가 슬립모드로 진입 시 백그라운드 등의 동작이 정지되도록 시스템이 변경되었습니다. 분명 사용자가 Application을 사용하지 않는 시점에서도 서비스가 돌아야 하거나 처리해야 되는 로직 등이 있다면 시스템이 슬립모드에 들어가더라도 동작해야 되겠지요. 하지만 현재 안드로이드 최신 OS에서는 그런 방법은 여러 가지 편법을 동원해서 우회하거나 하는 식의 방법을 쓰는 거 말고는 없는 것으로 보입니다. 그래서 Foreground를 활성화하는 방식을 사용해서 슬립모드에 들어가더라도 동작은 될 수가 있는데 단 한 가지 아쉬운 점은 Foreground실행 시에는 상태 표시줄에 Application이 표시된다는 점입니다. 현재 저는 Application 이름을 예로 들어 코딩 .. 2021. 10. 11. 이전 1 다음 반응형