http://terryblog.blog.51cto.com/1764499/376621
BroadCastActivity 页面代码
public
class
BroadCastActivity
extends
Activity {
public static final String ACTION_INTENT_TEST = " com.terry.broadcast.test " ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.Button01);
btn.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(ACTION_INTENT_TEST);
sendBroadcast(intent);
}
});
}
}
public static final String ACTION_INTENT_TEST = " com.terry.broadcast.test " ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.Button01);
btn.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(ACTION_INTENT_TEST);
sendBroadcast(intent);
}
});
}
}
myBroadCast 接收器
public
class
myBroadCast
extends
BroadcastReceiver {
public myBroadCast() {
Log.v( " BROADCAST_TAG " , " myBroadCast " );
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.v( " BROADCAST_TAG " , " onReceive " );
}
}
public myBroadCast() {
Log.v( " BROADCAST_TAG " , " myBroadCast " );
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.v( " BROADCAST_TAG " , " onReceive " );
}
}
那么有些人会问了,如果我在一个广播接收器中要处理多个动作呢?那要如何去处理?
在Android 的接收器中onReceive 以经为我们想到的,同样的你必须在Intent-filter 里面注册该动作,可以是系统的广播动作也可以是自己需要的广播,之后你之需要在onReceive 方法中,通过intent.getAction()判断传进来的动作即可做出不同的处理,不同的动作。具体大家可以去尝试测试一下。
本文通过生活实例和Android应用示例,深入浅出地解释了广播的概念、Android广播机制运行原理,以及如何在应用中创建和接收广播。重点介绍了Android广播的生命周期、筛选机制及其在实际开发中的应用。





1127

被折叠的 条评论
为什么被折叠?



