Android Broadcast(广播)使用
package com.broad;
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.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* 广播的使用
* @author XP
*
*/
public class BroadCastUse extends Activity {
/** Called when the activity is first created. */
private Button button;
//定义广播动作
private static final String BROADCASE_ID = "broadcase";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button)findViewById(R.id.buttonBC);
button.setOnClickListener(btnClick);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
//注册广播
regeditBroad();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
//销毁广播
destoryBroad();
}
private OnClickListener btnClick = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(BROADCASE_ID);
//发送广播
sendBroadcast(intent);
}
};
/**
* 注册广播
*/
private void regeditBroad(){
IntentFilter filter = new IntentFilter();
//过滤定义广播动作
filter.addAction(BROADCASE_ID);
registerReceiver(broadcast, filter);
}
/**
* 销毁广播
*/
private void destoryBroad(){
if(broadcast != null){
unregisterReceiver(broadcast);
}
}
private BroadcastReceiver broadcast = new BroadcastReceiver() {
//接收广播,实现逻辑判断
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(intent.getAction() == BROADCASE_ID){
Log.i("console", "onReceive");
}
}
};
}
广播发送有三种形式,即,sendBroadcast(),sendOrderedBroadcast(),sendStickyBroadcast()
sendBroadcast():普通广播 (Normal broadcasts)
发送一个广播,所以监听该广播的广播接收者都可以监听到该广播。
sendOrderedBroadcast():有序广播 (Ordered broadcasts)
按照接收者的优先级顺序接收广播 , 优先级别在 intent-filter 中的 priority 中声明 ,-1000 到1000 之间 , 值越大 , 优先级越高 . 可以终止广播意图的继续传播 . 接收者可以篡改内容 .
sendStickyBroadcast():异步广播
当处理完之后的Intent ,依然存在,这时候registerReceiver(BroadcastReceiver, IntentFilter) 还能收到他的值,直到你把它去掉 , 不能将处理结果传给下一个接收者 , 无法终止广播 .
相关推荐
Android Broadcast 广播机制 实例
简单的broadcast广播机制的使用,实现了通过动态注册广播和静态注册广播的方法,代码比较简单,通俗易懂。
Broadcast广播的使用,简单介绍了静态、动态注册广播,以及接受系统发出的广播和自定义本地广播
Android利用广播BroadCast监听网络的变化。该Demo是网络资源整理,可以正常运行。你可以看到内部接口的使用,广播机制的使用,网络连接状态的检查等。
broadcast_Android 广播机制broadcast用法实例.rar
Android系统中的广播(Broadcast)机制简要介绍和学习计划
Android Broadcast 静态注册Demo代码
简单实用的Broadcast 广播 实用示例
Androidbroadcast 广播接收器
android Broadcast全部功能演示,包括静态注册、动态注册、开机启动,等等
这个例子主要研究Android broadcast广播机制的实现,以一个电池监测及广播通知为例,介绍了实现broadcast的过程:大致的思路是:注册一个系统 BroadcastReceiver,作为访问电池计量之用,如果捕捉到的action是ACTION...
主要介绍了Android中的广播(BroadCast)详细介绍,本文讲解了什么是广播、广播有什么用、实现广播、动态注册方式、配置文件方式等内容,需要的朋友可以参考下
1.接受和发送UDP信号 2.ListView显示收到的UDP DATA 3.能够接受到本机内容
Android静态广播的例子
Android动态广播的例子
Android中关于Broadcast、Intent 的应用,对于初学Android者有较大帮助。
Android新手Broadcast Receiver简单实现 发送广播并实现接收广播
Android broadcast的使用,能广播数据,同时也能接受。并能改变控件的内容,值得参考
Broadcast广播实现强制下线功能,利用广播实现强制下线功能
Android程序研发源码Android broadcast电池电量显示源码