(1)接下里我们就通过“动态注册”的方式使用:
private MyBroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(BmobConstants.ACTION_REGISTER_SUCCESS_FINISH); //添加action
registerReceiver(receiver, filter); //注册
(2)静态注册的话是现在清单文件中添加:
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="register.success.finish"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
(2-1)我们就可以使用代码了:
Intent intent = new Intent("register.success.finish");
intent.putExtra("msg", "hello receiver.");
sendBroadcast(intent); //发送广播
普通广播(Normal Broadcast)
普通广播对于多个接收者来说是完全异步的,通常每个接收者都无需等待即可以接收到广播,接收者相互之间不会有影响。对于这种广播,接收者无法终止广播,即无法阻止其他接收者的接收动作。为了验证以上论断,我们新建三个BroadcastReceiver,演示一下这个过程,FirstReceiver、SecondReceiver和ThirdReceiver的代码如下:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class FirstReceiver extends BroadcastReceiver {
private static final String TAG = "NormalBroadcast";
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("msg");
Log.i(TAG, "FirstReceiver: " + msg);
}
}










