To perform a media scan in the project, you need to detect the sd plugging event. I wrote a demo analysis.
[Java]
MReceiver = new BroadcastReceiver (){
@ Override
Public void onReceive (Context context, Intent intent ){
OnReceiveMediaBroadcast (intent );
}
};
MReceiver = new BroadcastReceiver (){
@ Override
Public void onReceive (Context context, Intent intent ){
OnReceiveMediaBroadcast (intent );
}
};
[Java]
// OnReceive method:
Private void onReceiveMediaBroadcast (Intent intent ){
String action = intent. getAction ();
If (action. equals (Intent. ACTION_MEDIA_MOUNTED )){
Log. I (Intent. ACTION_MEDIA_MOUNTED );
} Else if (action. equals (Intent. ACTION_MEDIA_UNMOUNTED )){
Log. I (Intent. ACTION_MEDIA_UNMOUNTED );
} Else if (action. equals (Intent. ACTION_MEDIA_SCANNER_STARTED )){
Log. I (Intent. ACTION_MEDIA_SCANNER_STARTED );
} Else if (action. equals (Intent. ACTION_MEDIA_SCANNER_FINISHED )){
Log. I (Intent. ACTION_MEDIA_SCANNER_FINISHED );
} Else if (action. equals (Intent. ACTION_MEDIA_BAD_REMOVAL )){
Log. I (Intent. ACTION_MEDIA_BAD_REMOVAL );
}
Else if (action. equals (Intent. ACTION_MEDIA_EJECT )){
Log. I (Intent. ACTION_MEDIA_EJECT );
}
Else if (action. equals (Intent. ACTION_MEDIA_REMOVED )){
Log. I (Intent. ACTION_MEDIA_REMOVED );
}
}
// OnReceive method:
Private void onReceiveMediaBroadcast (Intent intent ){
String action = intent. getAction ();
If (action. equals (Intent. ACTION_MEDIA_MOUNTED )){
Log. I (Intent. ACTION_MEDIA_MOUNTED );
} Else if (action. equals (Intent. ACTION_MEDIA_UNMOUNTED )){
Log. I (Intent. ACTION_MEDIA_UNMOUNTED );
} Else if (action. equals (Intent. ACTION_MEDIA_SCANNER_STARTED )){
Log. I (Intent. ACTION_MEDIA_SCANNER_STARTED );
} Else if (action. equals (Intent. ACTION_MEDIA_SCANNER_FINISHED )){
Log. I (Intent. ACTION_MEDIA_SCANNER_FINISHED );
} Else if (action. equals (Intent. ACTION_MEDIA_BAD_REMOVAL )){
Log. I (Intent. ACTION_MEDIA_BAD_REMOVAL );
}
Else if (action. equals (Intent. ACTION_MEDIA_EJECT )){
Log. I (Intent. ACTION_MEDIA_EJECT );
}
Else if (action. equals (Intent. ACTION_MEDIA_REMOVED )){
Log. I (Intent. ACTION_MEDIA_REMOVED );
}
}
[Java]
// Register the broadcast receiver:
IntentFilter intentFilter = new IntentFilter ();
IntentFilter. addAction (Intent. ACTION_MEDIA_MOUNTED );
IntentFilter. addAction (Intent. ACTION_MEDIA_UNMOUNTED );
IntentFilter. addAction (Intent. ACTION_MEDIA_SCANNER_STARTED );
IntentFilter. addAction (Intent. ACTION_MEDIA_SCANNER_FINISHED );
IntentFilter. addAction (Intent. ACTION_MEDIA_EJECT );
IntentFilter. addAction (Intent. ACTION_MEDIA_BAD_REMOVAL );
IntentFilter. addAction (Intent. ACTION_MEDIA_REMOVED );
IntentFilter. addDataScheme ("file ");
RegisterReceiver (mReceiver, intentFilter );
// Register the broadcast receiver:
IntentFilter intentFilter = new IntentFilter ();
IntentFilter. addAction (Intent. ACTION_MEDIA_MOUNTED );
IntentFilter. addAction (Intent. ACTION_MEDIA_UNMOUNTED );
IntentFilter. addAction (Intent. ACTION_MEDIA_SCANNER_STARTED );
IntentFilter. addAction (Intent. ACTION_MEDIA_SCANNER_FINISHED );
IntentFilter. addAction (Intent. ACTION_MEDIA_EJECT );
IntentFilter. addAction (Intent. ACTION_MEDIA_BAD_REMOVAL );
IntentFilter. addAction (Intent. ACTION_MEDIA_REMOVED );
IntentFilter. addDataScheme ("file ");
RegisterReceiver (mReceiver, intentFilter );
Log information:
Plug-in card: status of the system, {removed}-> {unmounted}-> {checking}-> {mounted}
My program print information, android. intent. action. MEDIA_UNMOUNTED-> android. intent. action. MEDIA_MOUNTED
-> Android. intent. action. MEDIA_SCANNER_STARTED-> android. intent. action. MEDIA_SCANNER_FINIDHED
Unplug: status of the system, {mounted}-> {umounted}-> {removed}
My program print information, android. intent. action. MEDIA_EJECT-> android. intent. action. MEDIA_UNMOUNTED
-> Android. intent. action. MEDIA_REMOVED
From pain, not words, smile and not words