首页 > 移动平台 > 详细

android 广播的使用

时间:2015-01-16 20:31:20      阅读:341      评论:0      收藏:0      [点我收藏+]

在Activity中,注册广播的一个Demo。

总共分3步

第一步:定义一个BroadcastReceiver广播接收类:

private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver(){
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if(action.equals(ACTION_NAME)){
                Toast.makeText(Test.this, "处理action名字相对应的广播", 200);
            }
        }
        
    };

第二步:注册该广播:

public void registerBoradcastReceiver(){
        IntentFilter myIntentFilter = new IntentFilter();
        myIntentFilter.addAction(ACTION_NAME);
        //注册广播      
        registerReceiver(mBroadcastReceiver, myIntentFilter);
    }

第三步:触发响应

mBtnMsgEvent = new Button(this);
        mBtnMsgEvent.setText("发送广播");
        mBtnMsgEvent.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent mIntent = new Intent(ACTION_NAME);
                mIntent.putExtra("yaner", "发送广播,相当于在这里传送数据");
                
                //发送广播
                sendBroadcast(mIntent);
            }
        });
    

最后附上完整代码:

package my.yaner;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;

public class Test extends Activity{
    private final String ACTION_NAME = "发送广播";
    private Button mBtnMsgEvent = null;
    
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        
        //注册广播
        registerBoradcastReceiver();
        
        LinearLayout mLinearLayout = new LinearLayout(this);
        mBtnMsgEvent = new Button(this);
        mBtnMsgEvent.setText("发送广播");
        mLinearLayout.addView(mBtnMsgEvent);
        setContentView(mLinearLayout);
        
        mBtnMsgEvent.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent mIntent = new Intent(ACTION_NAME);
                mIntent.putExtra("yaner", "发送广播,相当于在这里传送数据");
                
                //发送广播
                sendBroadcast(mIntent);
            }
        });
    }
    
    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver(){
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if(action.equals(ACTION_NAME)){
                Toast.makeText(Test.this, "处理action名字相对应的广播", 200);
            }
        }
        
    };
    
    public void registerBoradcastReceiver(){
        IntentFilter myIntentFilter = new IntentFilter();
        myIntentFilter.addAction(ACTION_NAME);
        //注册广播      
        registerReceiver(mBroadcastReceiver, myIntentFilter);
    }
}

 

android 广播的使用

原文:http://www.cnblogs.com/zhujiabin/p/4229476.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!