今天开始准备开始看锁屏方面的知识,一开头就开始了BroadCastReceiver,现在就把我学习的这方面的只是做个记录。
BroadCastReceiver----顾名思义,广播的接收器
意思就是我们做很多事情的时候,我们只需要向外发送广播,在另外一个地方接收这些广播,根据接收的广播的内容来
进行合适的动作。
今天先写写自定义Action的广播
一、发送广播
先上代码:
Intent intent = new Intent("a");// 定义一个心得intent动作,这儿动作很简单"a"
intent.putExtra("msg", "----ggggggggggggggggggggg----");// 发送一个键-值对
sendBroadcast(intent);// 把广播发送出去
Intent intent1 = new Intent("b");
intent1.putExtra("msg", "----fffffffffffffffffffff----");
sendBroadcast(intent1);
这儿一次定义了两个动作,后面通过设置不同的action接收到不同的intent,获到不同的值。
二、 注册BroadCastReceiver
注册分为两种方式:
1、 manifest.xml中注册
<receiver android:name=".MyReceiver" >
<intent-filter>
<action android:name="a" />
</intent-filter>
</receiver>
2、 代码中动态注册
动态注册发送广播的方式也不一样,后面写上
三、 接收广播
接收广播的文件需要需要继承自BroadCastReceiver,并且实现onReceiver(Context,Intent)方法;
public abstract void onReceive(Context context,Intent intent);
抽象方法,必须要实现的,上代码:
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String str = intent.getAction(); // 获取发送广播的动作
if (str == "a") {// 响应接收到的动作
Log.e("tag", intent.getStringExtra("msg"));
}
}
}