第一种方式:
在AndroidManifest.xml里面注册广播监听:
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.EDIT"/>
</intent-filter>
</receiver>
里面receiver的android:name的内容是广播接受处理的类,这个类需要继承BroadcastReceiver。
然后action的android:name的内容是是接受哪些的广播。
-----------我是可爱的分界线--------------------------------
说说BroadcastReceiver这个类。
先附上例子:
package org.juetion.broadcast1;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
/**
* Created by juetionke on 13-12-24.
*/
public class MyBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.i("juetion","onReceive");
}
}
这个类是需要我们自己去实现onReceive,这个就是处理接受到的广播。
----------我是可爱的分界线------------------------------
话说回来,注册广播监听的方式还有另外一种,就是在代码里面
附上例子:
myBroadcastReceiver = new MyBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED");
MainActivity.this.registerReceiver(myBroadcastReceiver, intentFilter);
上面能看到。就是用当前的Activity的方法去注册广播监听,
里面的代码,大家都看得懂吧。
里面的IntentFilter就是用来表示监听哪些的。
这个是注册,下面提供以下如何去注销:
MainActivity.this.unregisterReceiver(myBroadcastReceiver);
关于两种注册广播监听的机制的方式有什么区别,这个等大家一起探讨。
----------我是可爱的分界线----------------------------------------
现在说说如何去广播
附上代码:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);
MainActivity.this.sendBroadcast(intent);
代码就不解释了,很简单。intent里面的setAction就是设置广播的类型。
附上代码:android-关于广播机制的使用
好了,今月今日的复习回顾到此结束了,谢谢观看。