您的位置:首页 > 其它

简单 注册广播和接收广播

2016-05-20 20:26 288 查看
MainActivity{

Mybroadcast mbroadcast;

    Button button,button2,button3;

@Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        //注册广播

        IntentFilter intentFilter = new IntentFilter();

        intentFilter.addAction("com.Mybrocat1");

        intentFilter.addAction("com.Mybrocat2");

        mbroadcast=new Mybroadcast();   //实例化处理广播类

        registerReceiver(mbroadcast, intentFilter);  //注册接受者

下面广播发布者可以在其他类:

        button2= (Button) findViewById(R.id.button2);

        button2.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                Intent in=new Intent("com.Mybrocat1");

                in.putExtra("name","我是第一条广播");

                sendBroadcast(in);

            }

        });

        button3= (Button) findViewById(R.id.button3);

        button3.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                Intent in=new Intent("com.Mybrocat2");

                in.putExtra("name","我是第2条广播");

                sendBroadcast(in);

            }

        });

    }

protected class Mybroadcast extends BroadcastReceiver{

        @Override

        public void onReceive(Context context, Intent intent) {

            String action = intent.getAction();

            if (action!=null && action.equals("com.Mybrocat1")){

                String name = intent.getStringExtra("name");

                Toast.makeText(MainActivity.this,"收到的第一条广播"+name,Toast.LENGTH_SHORT).show();

            }else if (action!=null && action.equals("com.Mybrocat2")){

                String name = intent.getStringExtra("name");

                Toast.makeText(MainActivity.this,"收到的第二条广播"+name,Toast.LENGTH_SHORT).show();

            }

        }

    }

注销广播

    @Override

    protected void onDestroy() {

        super.onDestroy();

        unregisterReceiver(mbroadcast);

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: