您的位置:首页 > 移动开发 > Android开发

Android两种BroadcastReceiver

2014-06-25 18:00 155 查看
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();

@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String staticAction = intent.getAction();
if(staticAction.equals("broadcast_static_action")){
Log.i(TAG,"staticAction");
}
}

}


第二:动态广播

(1)建立动态广播类:

class TestDynamicBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if("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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: