在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 广播简单的使用
android广播的类型,已经广播使用规范,android N广播变化
使用Delphi完成Android系统广播事件的监听与处理(静态注册广播接收),本程序为监听手机屏幕点亮事件,当屏幕点亮后发送一个本地通知。修改监听事件及处理过程可以实现更多的实用功能。
android广播时间处理机制学习小结,android开发技术方面的事件处理信息。
android 广播接收完整源码。十分完整的android广播接收完整源码。
android-关于广播机制的使用 android-关于广播机制的使用
android广播小例子,android实现广播的小例子....
主要介绍了Android广播接实现监听电话状态(电话的状态,拦截) 的相关资料,需要的朋友可以参考下
详细介绍广播的用法,代码有注释,简明易懂,实现广播的两种形式,有序广播和无序广播;详细介绍广播的用法,代码有注释,简明易懂,实现广播的两种形式,有序广播和无序广播;详细介绍广播的用法,代码有注释,简明...
android广播接收例子
编译成功的一个android广播简单使用小demo
Android利用蓝牙广播数据,用于不同设备间通讯,Android和可穿戴设备间通讯.
在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作...
Android 本地广播示例
Android广播的简单使用,包括广播接收机的动态和静态注册、自定义广播的使用。
Android通过使用广播监听网络状态的改变,更多请看我的博客:http://blog.csdn.net/xiayiye5/article/details/79397088
1、用来测试Android手机为啥接收不到UDP广播报文。
android 很不错的广播事件实例,供大家参考
Android中使用广播接收者组件实现简单强迫用户下线功能!