Android中的BroadCast静态注册与动态注册

2022-12-08,,,,

1.静态注册

新建MyBroadcast类继承BroadcastReceiver,实现onReceive方法

/**
* Author:JsonLu
* DateTime:2015/9/21 16:44
* Email:luxd@sumpay.com
* Desc:
**/
public class MyBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (MyTest.ACTION1.equals(action)) {
T.showShort(context, String.valueOf(System.currentTimeMillis()));
} else if (MyTest.ACTION2.equals(action)) {
Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
T.showShort(context, dateFormat.format(date));
} else {
T.showShort(context, "其他广播");
}
}
}

在AndroidManifest文件中注册

       <receiver android:name=".broadcast.MyBroadcast">
<intent-filter>
<action android:name="android.intent.action.my_broadcast" />
</intent-filter>
</receiver>

发送广播

    public static final String ACTION1 = "android.intent.action.my_broadcast";
public static final String ACTION2 = "android.intent.action.my_broadcast1";
            /**
* 静态注册广播
* 需要在AndroidManifest文件中进行注册
*
*/
case R.id.staticsendbrocast:
Intent intent1 = new Intent();
intent1.setAction(ACTION1);
sendBroadcast(intent1);
break;

2.动态注册

            /**
* 动态注册广播
* 不需要在AndroidManifest文件中注册
*/
case R.id.sendbrocast:
Intent intent = new Intent();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ACTION2);
registerReceiver(new MyBroadcast(), intentFilter);
intent.setAction(ACTION2);
sendBroadcast(intent);
break;

Android中的BroadCast静态注册与动态注册的相关教程结束。

《Android中的BroadCast静态注册与动态注册.doc》

下载本文的Word格式文档,以方便收藏与打印。