android-关于广播机制的使用

来源:互联网 发布:男生基本款衬衫 知乎 编辑:程序博客网 时间:2024/04/28 08:17

第一种方式:

在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-关于广播机制的使用

好了,今月今日的复习回顾到此结束了,谢谢观看。

0 0