반응형
상황
브로드 캐스트 테스트를 위해서, 액션명을 커스텀 해 암시적 브로드캐스트를 생성하였다.
그리고 송신했을때, 수신측에서 해당 에러를 출력하며 브로드캐스트를 수신하지 못하였다.
원인
백그라운드 정책이 강화됨에 따라, 예외적인 몇가지 암시적 브로드캐스트를 제외하고
암시적 브로드캐스트는 매니페스트에 브로드캐스트 수신기를 등록해서 수신할 수 없고,
Context에 수신기를 구현해야 한다.
해결
송신시 명시적인 브로드캐스트를 보내도록 수정하였다.
intent.putExtra("data", "This is just broadcast test B")
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendBroadcast(intent)
에서
intent.putExtra("data", "This is just broadcast test A")
intent.setComponent(ComponentName("com.example.broadcasttestb", "com.example.broadcasttestb.MyBroadcastReceiver"))
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendBroadcast(intent)
로 수정.
반응형