(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>
时间: 2025-01-16 18:43:34