先配置清单文件
<receiver android:name="...">
<intent-filter>
//卸载sd卡
<action android:name="android.intent.action.MEDIA_UNMOUNTED" />
//挂载sd卡
<action android:name="android.intent.action.MEDIA_MOUNTED" />
//sd的里面存的是一些文件数据,谷歌工程师要求必须加上data,才会让上面的两个action生效。
<data android:scheme="file" />
</intent-filter>
</receiver>
定义广播接收者
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卡挂载了");
}
}
}