标准广播是一种完全异步执行的广播,广播发出后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息。无法被截断。
一、新建广播接收器,右键New->Other->Broadcast Receiver,就会创建一个广播接收器
package group.chicai.study;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"接受到我的广播",Toast.LENGTH_SHORT).show();
abortBroadcast();
}
}二、注册这个广播接收器的触发行为
<receiver android:name=".MyReceiver" android:enabled="true" android:exported="true"> <intent-filter ><!-- 静态注册 --> <action android:name="group.chicai.study.MYBOASTCASE" /> </intent-filter> </receiver>
//动态注册
intentFilter = new IntentFilter();
intentFilter.addAction("group.chicai.study.MYBOASTCASE");
MyReceiver my = new MyReceiver();
registerReceiver(my,intentFilter);三、发送广播
Button button8 = (Button)findViewById(R.id.button8);
button8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("group.chicai.study.MYBOASTCASE");
sendBroadcast(intent);
}
});同样的,系统上定义了很多检查状态改变的action,可以让接收器去注册这个行为,这样当系统的某些状态改变时,就会触发这些接收器了。例如:网络改变的监督-android.net.conn.CONNECTIVITY_CHANGE