Broadcast Receiver를 호출하는 method
- sendBroadcast(Intent intent[String srceiverPermission]);
* 응용프로그램에서 실행될 intent를 전송
* 허가받은 수신자에게만 방송을 보내고 싶다면 permission도 지정이 가능
* permmission이 필요 없다면 null이나 생략 가능
- sendOrderBroadcast(Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler schduler, int initialCode, String initialData, Bundle initialExtras)
* 실행될 intent, android:priority, 실행될 BR, 리턴받은 번들값을 지정해 실행
- registerReceiver(BroadcastReceiver receiver, intentFilter filter)
* 항상 Broadcast를 수신대기 하고 있는 경우지만 원활할 때만 수신대기 하도록 manifest에 등록하거나 registerReceiver method를 통해 지정하면 등록돼어 실행
- unregisterReceiver(BroadcastReceiver receiver)
* registerReceiver method를 통해 등록된 것을 해제
자바 코드로 Broadcast Receiver 등록
1. cast 날리기
Intent intent = new Intent();
intent.putExtra(Statickeyword.xxxx, true);
intent.setAction(Statickeyword.xxxx);
context.sendBroadcast(intent);
2. cast 감지, 처리
2_1 Broadcast 생성
BroadcastReceiver br=new BroadcastReceiver(){
@Override
public void on Receive(Context context, Intent intent){
}
2_2 필터 생성
private IntentFilter filter = new IntentFilter();
filter.addAction(Statickeyword.xxxx);
3. Activity 등록
@Override
public void onResume(){
super.onResume();
registerReceiver(br, filter);
}
4. 해제
@Override
public void onPause(){
super.onPause();
unregisterReceiver(br);
}
Receiver를 Activity에 등록하면 Activity가 활성화 상태에서만 cast에 반응
Broadcast Receiver class를 상속하여 onReceiver method를 오버라이딩 하고 manifest에 추가하면 Activity 상태와 무관하게 cast요청 감지.