[learning notes] the application of BroadcastReceiver
Communication between Activity and BroadcastReceiver
1) create a new BroadcastReceiver and send data through the sendBroadcast method in MainActivity
2) override the onReceive method in the MyReceiver class to receive data with the parameter intent
II. Registration and cancellation of BroadcastReceiver
1) define an ACTION constant in the MyReceiver class first
2) if you create an Intent instance in MainActivity, you cannot create it by using the displayed method. Instead, you need to instantiate it by using the value of ACTION implicitly.
3) define an object of MyReceiver in MainActivity and initialize it to null. Make sure that the MyReceiver object is empty when using the registerReceiver method, and that the MyReceiver object is not empty when using the unregisterReceiver method
III. BroadcastReceiver priority
When there are multiple broadcast receivers, their ACTION is the same. If you want to set who receives it first, you can add priority to the intent-filter in the AndroidManifest.xml file. If the number is high, receive it first.
When the high priority receiver wants to prevent the later broadcast receiver from receiving, you need to use the abortBroadcast method to stop the broadcast in the corresponding receiver, but if it is blocked, the method of sending the broadcast in MainActivity cannot use sendBroadcast, otherwise there will be an exception. Use the sendOrderedBroadcast method.
SendOrderedBroadcast (iPowerNull)