Sometimes, when the program reads and writes external data, the SD card status needs to be monitored to prevent exceptions. We can use registration broadcast for the SD card status.
The following is a classic example in the document;
// Listen to sdcard status broadcast broadcastreceiver available; // sdcard available status Boolean mexternalstorageavailable = false; // sdcard writable status Boolean mexternalstoragewriteable = false; void updateexternalstoragestate () {// get the status of the sdcard string state = environment. getexternalstoragestate (); If (environment. media_mounted.equals (State) {mexternalstorageavailable = mexternalstoragewriteable = true;} else if (environment. listener (State) {response = true; mexternalstoragewriteable = false;} else {mexternalstorageavailable = response = false;} // start listening to void startwatchingexternalstorage () {response = new broadcastreceiver () {@ override public void onreceive (context, intent) {log. I ("test", "Storage:" + intent. getdata (); updateexternalstoragestate () ;}}; intentfilter filter = new intentfilter (); filter. addaction (intent. action_media_mounted); filter. addaction (intent. action_media_removed); registerreceiver (response, filter); updateexternalstoragestate () ;}// stop listening to void stopwatchingexternalstorage () {unregisterreceiver (mexternalstoragereceiver );}
OK. The above is all content.