广播机制

一、             广播机制

广播类:

public class MyReveiver extends BroadcastReceiver {

//等待接收广播

    @Override

    public void onReceive(Context context, Intent intent) {

       // TODO Auto-generated method stub

       String str=intent.getStringExtra("gb");

       Toast.makeText(context, str, Toast.LENGTH_LONG).show();

    }

}

Activity类:

//发送一个广播  

Intent intent=new Intent();

    intent.setAction(Intent.ACTION_EDIT);

    intent.putExtra("gb", "hi,我收到了消息!");

    BroadcastDemo.this.sendBroadcast(intent);

Manifest代码清单:

<receiverandroid:name=".MyReveiver">

       <intent-filter>

       <actionandroid:name="android.intent.action.EDIT"/>

       </intent-filter>

       </receiver>

二、             广播机制

使用代码注册广播:

广播类:

public class SmsReceiver extends BroadcastReceiver {

    @Override

    public void onReceive(Context context, Intent intent) {

       // TODO Auto-generated method stub

       

       Bundle bundle=intent.getExtras();

       Object[] objs=(Object[])bundle.get("pdus");

       SmsMessage[] msgs=new SmsMessage[objs.length];

       for(int i=0;i<msgs.length;i++){

           msgs[i]=SmsMessage.createFromPdu((byte[])objs[i]);

           String str=msgs[i].getDisplayMessageBody();

           //System.out.println(new String(str.getBytes("unicode"),"gbk"));

           Toast.makeText(context,str , Toast.LENGTH_LONG).show();

       }

       

       

    }

}

Activity类代码:

class Btn1 implements OnClickListener{

//注册广播,并声明通过类型

       public void onClick(View v) {

           // TODO Auto-generated method stub

           rece=new SmsReceiver();

           IntentFilter filter=new IntentFilter();

           filter.addAction("android.provider.Telephony.SMS_RECEIVED");

           BroadcastDemo2.this.registerReceiver(rece, filter);

       }

    

    }

    class Btn2 implements OnClickListener{

    public void onClick(View v) {

//取消注册

           // TODO Auto-generated method stub

           BroadcastDemo2.this.unregisterReceiver(rece);

       }

    }

原文地址:https://www.cnblogs.com/itfenqing/p/4429522.html