브로드캐스트 리시버 : 시스템이 방송한 정보를 수신할 수 있는 수신기


브로드캐스팅 시작하는 코드


 

1
2
3
4
Intent intent = new Intent();
intent.setAction("com.test.Broadcasting.action.FILE_DOWNLOADED");
intent.putExtra("FILE_NAME","broadcastTest.txt");
sendBroadcast(intent);
cs

1.인텐트 객체 생성

2.어떤 상황을 방송할 것인지 액션을 정함

3.내려받은 파일명을 엑스트라에 추가

4.방송


브로드캐스팅 리시버

정적 리시버 : 한번 등록시 해제할 수 없음 (AndroidManifest.xml 에서 설정)

AndroidManifest.xml에 추가

 

1
2
3
4
5
<receiver android:name="클래스이름">
    <intent-filter>
        <action android:name="com.test.Broadcasting.action.FILE_DOWNLOADED"/>
    </intent-filter>
</receiver>
cs

1. 동작을 처리할 클래스 이름

3. 리시버가 들을 액션


동작을 처리할 클래스는 BroadcastReceiveer를 상속받은 후 onReceive메소드를 오버라이딩하면 됨


동적 리시버 : 등록과 해제가 자유로움 (BroadcastReceiver 객체 생성)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
BroadcastReceiver m_FileRecevier = null;
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.test.Broadcasting.action.FILE_DOWNLOADED");
 
m_FileRecevier = new BroadcastReceiver(){
    @Override
    public void onReceive(Context context, Intent intent){
    
    }
}
 
registerReceiver(m_FileReceiver,intentFilter);
 
unregisterReceiver(m_FileReceiver);
 
cs

 

1.브로드캐스트 리시버 객체 생성

2~3.인탠트 필터 객체 생성하여 액션 추가

5~10. 브로드캐스트 리시버에서 onReceive 오버라이딩

12. 브로드캐스트 리시버와 인탠트필터로 리시버 등록

14. 해제할 때 사용


+ Recent posts