본문 바로가기
[android] background work(AlarmManager) 수행에 대한 이야기 [android] background work(AlarmManager) 수행에 대한 이야기 https://plus.google.com/+AndroidDevelopers/posts/GdNrQciPwqo -구버전 안드로이드에서는 background work 를 위해서 보통 AlarmManager 를 사용했다.AlarmManager 를 사용하면 앱이 foreground 가 아닌 상황에서도 미래 특정 시점에 어떤 일을 하도록 scheduling 을 할 수 있다. -60초 이내에 무언가를 수행하게 하고 싶다면 AlarmManager 는 best choice 가 아닐 수 있다.이 때는 Handler 를 이용해보도록 하자. -API 21+ (5.0 LOS) 부터는 setAlrmClock() API 를 통해서 user.. 2019. 1. 27.
[android] JobStatus.getUID NullPointerException [android] JobStatus.getUID NullPointerException java.lang.RuntimeException: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.android.server.job.controllers.JobStatus.getUid()' on a null object reference at android.app.job.JobService$JobHandler.handleMessage(JobService.java:139) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:.. 2018. 4. 28.
[android] Firebase JobDispatcher 문제.. (Job 미실행) [android] Firebase JobDispatcher 문제.. (Job 미실행) - 글을 쓰는 현재 시점 Firebase JobDispatcher ( 이하 FJD ) 는 0.8.5 version - 현재 발생하는 문제는 N 미만 버전 ( not including N ) Google Play Service(이하 GPS) 가 최신버전이 아니면 제대로 동작하지 않는다. 현재 가장 최신 버전 GPS 11.7.44 에서는 제대로 동작하지만.. 심지어 17.05.18 release 된 11.0.47 에서는 Schedule 한 job 이 불리지 않는다… 심각하다.. - JobScheduler 자체는 LOS 부터 사용이 가능하기 때문에, L 미만에서는 Service + Broadcast + AlarmManager.. 2017. 12. 5.
[android] Doze 모드와 App standby 모드 + GCM High priority message [android] Doze 모드와 App standby 모드 + GCM High priority message https://developer.android.com/training/monitoring-device-state/doze-standby.html -MOS ( 6.0 ) 부터 등장 Doze 모드 -device 가 unplug 된 상태로 오랜 시간 움직여지지 않으면 screen 이 꺼지고, 이 상태에서 시간이 지나면 Doze(깜빡 잠이 들다, 졸다) 모드에 들어간다. -Doze mode 에서는 device 는 주기적으로 아주 짧은 시간동안 resume 되어 보통의 operation 들을 수행한다.이 resume time 에는 app sync 나 pending operation 을 수행하곤 한다. -.. 2017. 9. 17.
[android] AlarmManager 를 통해 이미 alarm 이 등록되었는지 어떻게 알 수 있을까? Intent intent = getAlarmIntent();PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_NO_CREATE);boolean isAlarmRegistered = ( pi != null ); FLAG_NO_CREATE flag 는 이미 등록된 PendingIntent 가 있다면 해당 instance 를 아니면 null 을 return 한다. alarmmanager, flag_no_create, isalarmregistered, PendingIntent, [android] AlarmManager 를 통해 이미 alarm 이 등록되었는지 어떻게 알 수 있을까? 2017. 6. 14.
[android] framework 의 service와 broadcast 안드로이드, framework 의 service 와 broadcast 음악앱은 Service 에서 Notification 과 함께하여 음악을 재생한다. 알람시계앱은 AlarmManager 를 이용하여 PendingIntent 로 Broadcast 를 날리고, 그것을 스스로 수신해서 Activity 를 띄운다. 달력앱은 특정 이벤트 알람내용을 알리기 위해 AlarmManager 를 알람시계앱처럼 이용한다. 백그라운드 파일 다운로드는 다운로드가 있을 경우 작동하는 Service. E-mail 앱은 특정 주기마다 새로운 메일을 확인하기 위해 Alarm 을 통해 Service를 실행한다. 구글 앱들은 네트워크 Push 이벤트 수신과 동기화를 위한 Service 를 돌린다. 구글에서 보내주는 앱 관련 Push 도.. 2013. 8. 9.
반응형