(1)定义广播接收者

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class SdcardReceiver extends BroadcastReceiver {

    //当sd卡被卸载 或者被挂载上来的时候 会执行
    @Override
    public void onReceive(Context context, Intent intent) {

        //[1]获取到当前广播的事件类型 
        String action = intent.getAction();
        //[2]对action做一个判断 
        if("android.intent.action.MEDIA_UNMOUNTED".equals(action)){
            System.out.println("说明sd卡 卸载了");
            
        }else if ("android.intent.action.MEDIA_MOUNTED".equals(action)) {
            
            System.out.println("说明sd卡挂载了");
        }
        
        
        
        
    }

}

(2)在清单文件配置一下 

     <receiver android:name="com.itheima.sdcardstate.SdcardReceiver">
            <intent-filter >
                <action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
                <action android:name="android.intent.action.MEDIA_MOUNTED"/>
                 <action android:name="android.intent.action."/>
                <!--想让上面的这2个事件生效 必须的加上这样的一个data   -->
                <data android:scheme="file"/>
            </intent-filter>
        </receiver>