connectivity_action

안드로이드의 네트워크 변경 확인

안드로이드 7.0부터 백그라운드 작업 최적화를 위해 몇 가지 브로드캐스트를 받을 수 없게 되었다. 이중에 네트워크 연결 상태 변경을 알리는 CONNECTIVITY_ACTION는 포함된다. 다만, (일명) AndroidManifest.xml에 미리 등록하여 PackageManager에서 관리하는 정적 브로드캐스트리시버에 한하며, Context.registerReceiver()에 등록하여 사용하는 동적 브로드캐스트리시버는 가능하다. 그럼, 정적 브로드캐스트리시버를 동적 브로드캐스트리시버로 바꾸면 될까? CONNECTIVITY_ACTION은 네트워크 상태가 변경되었다는 사실만 알려주기 때문에, 현재 네트워크 상태가 WiFi이나 […]

안드로이드의 네트워크 변경 확인 더 읽기"

안드로이드 잡스케줄러 주의점

targetSdk를  24 이상으로 지정한 앱은 안드로이드의 정책 변경에 따라 더 이상 CONNECTIVITY_ACTION을 전달받지 못한다. 그러므로,  CONNECTIVITY_ACTION을 통해 정기적으로 백그라운드 작업을 시작하고 있었다면 이제 잡스케줄러를 이용해야 한다. 여기서는, 브로드캐스트 리시버 대신 잡스케줄러로 변경 시 꼭 확인해야할 부분들만 골라 살펴보겠다. 1. CONNECTIVITY_ACTION 브로드캐스트 리시버를 대신해 잡을 등록하자.  앱이 시작될 때, 아래 예제처럼 잡을 등록한다. JobInfo jobInfo =

안드로이드 잡스케줄러 주의점 더 읽기"