본문 바로가기
반응형

Android 개발/Service, Receiver5

Broadcast Receiver 등록하고 시스템 이벤트 받아서 처리하기 안드로이드의 시스템은 이벤트가 발생할 때 broadcast를 보내줍니다. 이름이 broadcast이니, 방송을 한다고 해야할까요. 안드로이드 내부적으로 이벤트가 발생을 했다고 알려주는 것인데요, 안드로이드 앱에서, 시스템에게 특정한 이벤트에 관해 관심이 있다고 등록을 하면, broadcast를 수신할 수 있게 되는데요. 오늘은 사용자가 이어폰을 스마트폰에서 빼거나 꽂았을 때, 시스템 이벤트를 받아서 토스트 팝업을 띄우는 방법에 대해서 정리해보겠습니다. 네이버 뮤직 같은 앱들이 헤드폰을 빼거나 꽂았을 때, 플레이를 멈추도록 하는 기능도 broadcastReceiver를 이용했을 거라고 생각이 됩니다. 1. BroadCast 받는 방법 안드로이드의 시스템으로부터는 여러가지 broadcast를 받아서 볼 수 .. 2023. 5. 23.
Android Foreground Service 로 Background 에서 음악 플레이 하기 폰을 사용하다가 음악을 들어보신적이 있죠. 네이버 뮤직 이나 멜론 같은 앱을 실행해서 플레이를 시킨후, 다른앱을 사용해도 꺼지지 않고 플레이가 되는데요. 이렇게 background에서 동작하는 컴포넌트가 바로 Service입니다. 오늘은 이 Service 에 대해서 정리해보도록 하겠습니다. Service는 UI를 가지고 있지 않기 때문에, 인터랙션이 필요한 경우에는 Activity로 연결시켜야 하구요. 쓰레드 관련해서도 주의가 필요한데요. 디폴트로 메인쓰레드에서 동작하므로, cpu를 많이 쓰는 일을 할 때는 ,다른 쓰레드에서 작동될수 있도록 해줘야 합니다. 이 밖에도 여러가지가 있지만 아래에서 관련 요소들을 보시면서 정리해볼께요. Service를 실행시키는 방법에는 두가지가 있는데요. startServi.. 2020. 1. 18.
부팅 혹은 재 부팅시 실행되는 Android Service 개발 폰이 부팅 혹은 재부팅될 때 실행되어야 하는 경우가 있습니다. 예를 들면, 알람앱 같은 경우가 될 텐데요. 알람을 설정하고 나서, 폰이 재부팅된 이후에도, 실행되도록 부팅시 DB를 조회해서 알람을 다시 등록해야 하겠습니다. 오늘은 이 방법에 대해서 정리해 보도록 하겠습니다. 1. 부팅 시기 알림받기 부팅이 되었을 때 앱이 안드로이드로부터 알림을 받아야 할 텐데요. 이를 위해서는 Receiver가 필요합니다. 그런데 Receiver를 작성하기 전에, 권한을 하나 추가해야 하는데요. android.permission.RECEIVE_BOOT_COMPLETED 권한을 AndroidManifest.xml에 추가해 주어야 합니다. 2. Receiver 추가하기 RebootReceiver를 생성한 다음, Androi.. 2019. 5. 26.
BindService 의 생성과 Activity 에서의 Bind 안드로이드 앱을 만들다보면, 백그라운드에서 동작하고 있는 Service와 Activity간에 인터랙션이 필요한 경우가 있습니다. 단순히 Service를 stop하고 start하며, intent로 데이터를 전달하는 것 뿐만이 아니라, 사용자의 터치등에 반응하여, Service의 메소드를 실행하고 결과를 Activity의 UI에 반영해주어야 하는 경우인데요. 오늘은 이를 가능하게 해주는 BindService를 생성하고, Activity에서 Bind하는 방법에 대해서 정리해보겠습니다. 1. Bind 서비스 생성 Bind 서비스를 생성하기 위해서, BinderClass를 상속받아서 사용할 수도 있구요. Messenger를 이용하는 방법도 있는데요. 같은 App이고, 같은 Process에 속해있는 Service와.. 2017. 4. 4.
Android 에서 wake lock 으로 휴대폰을 깨우자. 알람앱 같이 안드로이드 폰이 잠들어 잠들어 있다가, 일정시간이 되면 앱의 화면이 켜져야 한다면 어떻게 해야할까요?이 때 사용할 수 있는, 안드로이드 시스템에서 제공해주는 기능으로 wake lock 이라는 것이 있는데요.오늘은 이것에 관해서 정리해보겠습니다. 1. Permission 선언 제일 먼저 해야할 것은 permission을 선언하는 것입니다.너무도 다행스러운 것은 동적 permission의 대상은 아니라는 것이네요.아래와 같이 manifest에 선언해주면 됩니다. 2. Cpu 깨어있도록 하기 사용자의 휴대폰이 Sleep모드로 들어가도, 폰의 CPU가 깨어있다면 일정한 시간에 계산을 해서,화면을 켜고 소리를 플레이 하는 등의 과업을 수행할 수 있습니다. 이것은 어떻게 하는 것일까요?Cpu가 깨어있도.. 2017. 3. 23.