一、广播基础:
1、标准广播(Normal broadcast):完全异步执行,一发出去所有人都接收的到。
2、有序广播(Order broadcast):同步执行,只有广播接收器的才可以收到(有序,过程中可以截断)。
二、接收系统广播:
1、动态广播)(网络数据开关广播):
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.intent.action.GUAN");
networkBroadcastReceiver = new NetworkBroadcastReceiver();
registerReceiver(networkBroadcastReceiver , intentFilter);
class NetworkBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
ConnectivityManager connect = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connect.getActiveNetworkInfo();
if (activeNetworkInfo!=null&&activeNetworkInfo.isAvailable()){
Toast.makeText(MainActivity.this, "网络已连接!", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this, "网络已断开!", Toast.LENGTH_SHORT).show();
}
}
}
2、静态广播:
<receiver
android:enabled="true"(表示是否启用这个关闭接收器)
android:exported="true"(是否允许这个广播接收器接收本程序以外的广播)
android:name=".Receiver">
<intent-filter android:priority="10000">(广播顺序的级别)
<action android:name="android.intent.action.GUAN"></action>
</intent-filter>