https://blog.csdn.net/AirMario/article/details/53837307?locationNum=5&fps=1
public class MyBroadCastReceiver extends BroadcastReceiver {
public MyBroadCastReceiver() {
super();
}
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"Received a broadcast",Toast.LENGTH_SHORT).show();
Log.d("BROADCAST","received"+context.toString());
}
@Override
public IBinder peekService(Context myContext, Intent service) {
return super.peekService(myContext, service);
}
}
静态注册:在Manifest.xml 里
<application
android:allowBackup="true"
android:icon="@mipmap/bg"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity"></activity>
<receiver android:name=".MyBroadCastReceiver">
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
</application>
动态注册:
private MyBroadCastReceiver myBroadCastReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("Tag","Main:onCreate");
myBroadCastReceiver = new MyBroadCastReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
registerReceiver(myBroadCastReceiver,intentFilter);
}
发送一个广播:
Intent intent = new Intent("myBroadCast");
sendBroadcast(intent);