Android两种BroadcastReceiver

来源:互联网 发布:计算机算法表示 编辑:程序博客网 时间:2024/05/17 03:25

Android两种BroadcastReceiver:静态和动态。

第一:静态广播的建立。

(1)在AndroidManifest.xml中声明广播

(2)继承广播接收,对接收到的广播进行处理。

第二:动态广播。

(1)进入Activity时注册动态广播

(2)离开窗口时注销动态广播


实例:


第一:静态广播;

(1)在AndroidManifest.xml中声明静态广播;设置广播接收的动作名


<receiver android:name="广播所在的包名.TestBroadcastReceiver">            <intent-filter>                <action android:name="broadcast_static_action"/>            </intent-filter>    </receiver>
     (2)继承广播接收,对接收到的广播进行处理
public class TestBroadcastReceiver extends BroadcastReceiver{private final static String TAG = TestBroadcastReceiver.class.getSimpleName();@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubString staticAction = intent.getAction();if(staticAction.equals("broadcast_static_action")){Log.i(TAG,"staticAction");}}}

第二:动态广播

(1)建立动态广播类:

class TestDynamicBroadcastReceiver extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubif("broadcast_dynamic_action".equals(intent.getAction())){Log.i(TAG,"intent.getAction()="+intent.getAction());}Log.i(TAG,"dynamic broadcastreceiver");}}

2)建立动态广播对象

BroadcastReceiver receiver = new TestDynamicBroadcastReceiver();


(3)注册动态广播

public void registerBroadcast(){IntentFilter  intentFilter = new IntentFilter();intentFilter.addAction("broadcast_dynamic_action");registerReceiver(receiver, intentFilter);}

(4)注销动态广播类

public void unRegisterBroadcast(){unregisterReceiver(receiver);}

0 0
原创粉丝点击