zoukankan      html  css  js  c++  java
  • 广播机制

    一、             广播机制

    广播类:

    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);

           }

        }

  • 相关阅读:
    Linux进程和线程
    Vim编辑器
    Java多线程编程(七)线程状态、线程组与异常处理
    Java多线程编程(六)单例模式与多线程
    Integer to Roman
    Container With Most Water
    Regular Expression Matching
    Palindrome Number
    c/c++获取硬盘序列号
    String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429522.html
Copyright © 2011-2022 走看看