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요청 감지.

'안드로이드' 카테고리의 다른 글

AsyncTask  (0) 2011.09.06
AppWidget  (0) 2011.07.28
나인패치  (0) 2011.07.26
Data Base  (0) 2011.07.25
broadcast receiver java code로 등록  (0) 2011.07.25

+ Recent posts