Anroid Receiver

11735 단어 xmlandroidOS
안 드 로 이 드 에 서 는 방송 (broadcast) 이 매우 유용 한 기능 이다.방송 을 통 해 다른 방송 에 이 어떤 사건 이 발생 했다 는 것 을 알 릴 수 있다.예 를 들 어 전원 이 부족 하고 신호 가 좋 지 않다 는 등 이다.
다음은 제 가 간단 한 demo 를 만 들 었 습 니 다. 먼저 activity 를 보 겠 습 니 다.

 
  1. package  com.android.broadcasttest; 
  2.  
  3. import  android.app.Activity; 
  4. import  android.content.Intent; 
  5. import  android.os.Bundle; 
  6. import  android.view.View; 
  7. import  android.view.View.OnClickListener; 
  8. import  android.widget.Button; 
  9.  
  10. public   class  BroadcastTest  extends  Activity { 
  11.     public   static   final  String NEW_LIFEFORM_DETECTED =  
  12.         "com.android.broadcasttest.NEW_LIFEFORM"
  13.      
  14.     /** Called when the activity is first created. */  
  15.     @Override  
  16.     public   void  onCreate(Bundle savedInstanceState) { 
  17.         super .onCreate(savedInstanceState); 
  18.         setContentView(R.layout.main); 
  19.          
  20.         Button btn0 = (Button)findViewById(R.id.btn0); 
  21.         btn0.setOnClickListener(new  OnClickListener() { 
  22.             public   void  onClick(View v) { 
  23.                 Intent it = new  Intent(NEW_LIFEFORM_DETECTED);           
  24.                 sendBroadcast(it); 
  25.             } 
  26.         }); 
  27.     } 

이 activity 에 단 추 를 만 들 었 습 니 다. 단 추 를 눌 렀 을 때 sendbBroadcast () 를 통 해 라디오 를 보 냅 니 다.
라디오 수신 자 코드 를 다시 봅 시다.

 
  1. package  com.android.broadcasttest; 
  2.  
  3. import  android.content.BroadcastReceiver; 
  4. import  android.content.Context; 
  5. import  android.content.Intent; 
  6. import  android.util.Log; 
  7. import  android.widget.Toast; 
  8.  
  9. public   class  MyBroadcastReceiver  extends  BroadcastReceiver { 
  10.     public   static   final  String BURN = 
  11.         "com.paad.alien.action.BURN_IT_WITH_FIRE"
  12.      
  13.     public  MyBroadcastReceiver () { 
  14.         Log.v("BROADCAST_TAG" "myBroadCast" ); 
  15.     } 
  16.     @Override  
  17.     public   void  onReceive(Context context, Intent intent) { 
  18.         // TODO Auto-generated method stub        
  19.         Toast.makeText(context, " :" , Toast.LENGTH_LONG).show();   
  20.     } 
  21.  

onReceive () 에서 라디오 를 받 을 때 하 는 동작 을 실현 했다.
이 receiver 를 AndroidManifest. xml 에 등록 해 야 합 니 다.

 
  1. <? xml   version = "1.0"   encoding = "utf-8" ?>  
  2. < manifest   xmlns:android = "http://schemas.android.com/apk/res/android"  
  3.       package = "com.android.broadcasttest"  
  4.       android:versionCode = "1"  
  5.       android:versionName = "1.0" >  
  6.     < application   android:icon = "@drawable/icon"   android:label = "@string/app_name" >  
  7.         < activity   android:name = ".BroadcastTest"  
  8.                   android:label = "@string/app_name" >  
  9.             < intent-filter >  
  10.                 < action   android:name = "android.intent.action.MAIN"   />  
  11.                 < category   android:name = "android.intent.category.LAUNCHER"   />  
  12.             </ intent-filter >  
  13.         </ activity >  
  14.         < receiver   android:name = ".MyBroadcastReceiver" >  
  15.             < intent-filter >  
  16.                 < action   android:name = "com.android.broadcasttest.NEW_LIFEFORM"   />  
  17.             </ intent-filter >  
  18.         </ receiver >  
  19.     </ application >          
  20.     < uses-sdk   android:minSdkVersion = "8"   />  
  21. </ manifest >   

receiver 의 action 에서 이 receiver 가 받 아들 일 수 있 는 방송 을 정의 합 니 다.

좋은 웹페이지 즐겨찾기