본문 바로가기
[android] implicit broadcast - signature permission or FLAG_RECEIVVER_INCLUDE_BACKGROUND - 안드로이드 가이드에 따르면 targetSdk 를 oreo 이상으로 설정할 경우, implicit broadcast 에 발송에 대해 (대상이 명확하지 않은 broadcast) static receiver 의 경우 수신할 수 없고, dynamic receiver 의 경우 수신할 수 있다. ( 물론, 일부 broadcast 는 예외적이다. https://developer.android.com/guide/components/broadcast-exceptions ) - Oreo 소스 기준 BroadcastQueue.java 의 processNextBroadcast 를 보면 아래 코드가 있다. // ... else if (((r.intent.getFlags()&Intent.FLAG_RECEIVER_EXCLUDE.. 2022. 12. 30.
[android] Background Optimization ( 백그라운드 최적화 ) -Background process 는 User 가 알 수 없게 cpu, memory, battery 등을 소모한다.Android 7.0 ( API 24 ) 부터는 다음과 같은 제약이 추가되었다. targetSdk 24 이상인 앱의 경우 manifest 에 CONNECTIVITY_ACTION 를 등록해도 broadcast 를 받지 못한다. Context.registerReceiver() 를 통한 Runtime receiver 를 등록한 경우에만 받을 수 있다. 앱은 ACTION_NEW_PICTURE 나 ACTION_NEW_VIDEO broadcast 를 보내거나 받을 수 없다. ( 이것은 Android 7.0 target 이 아닌 단말 기준으로 모든 앱에 작동한다. ) -만약 위에 명시된 Action 들.. 2018. 10. 8.
안드로이드 O 암시적 브로드케스트 예외 ( Implicit Broadcast Exceptions ) 안드로이드 O 암시적 브로드케스트 예외 ( Implicit Broadcast Exceptions ) https://developer.android.com/guide/components/broadcast-exceptions.html -targetSdk 가 26 이상으로 지정된 경우 아래에 표기된 브로드케스트 외의 제외한 Manifest 에 등록된 암시적 브로드케스트는 받을 수 없다.Runtime 에서 등록한 receiver 의 경우는 암시적 브로드케스트 모두를 받을 수 있다. -Boot CompleteACTION_LOCKED_BOOT_COMPLETEDACTION_BOOT_COMPLETED User ChangeACTION_USER_INITIALIZE"android.intent.action.USER_ADDED.. 2017. 10. 21.
Android O Background 실행 제한 Android O Background 실행 제한 https://developer.android.com/about/versions/oreo/background.html#services -앱이 Background 로 돌 때는 디바이스의 리소스를 사용한다. 예를 들면 RAM, CPU.이런것들이 리소스를 많이 사용하는 게임이나 비디오 시청 등에 방해가 된다.이를 개선하기 위해 Android 8.0 ( API 26 ) 부터는 background 작업에 대한 제한이 추가되었다. Overview -많은 안드로이드 앱과 서비스는 동시에 돌 수 있다.예를 들면 게임을 한 윈도우에서 하면서 다른 윈도우에서는 브라우징을 하고, 백그라운드에서는 음악도 재생할 수 있다.더 많은 앱들이 한번에 돌면서 시스템에 더 많은 부하가 생.. 2017. 10. 20.
반응형