通过广播检测sdcard插拔操作
16lz
2022-05-28
public class TestSdcard extends Activity {
@Override
protected void onDestroy() {
super.onDestroy();
//退出的时候需要取消广播接收
this.unregisterReceiver(in);
}
DetectSdcard in;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
in = new DetectSdcard();
IntentFilter intentf = new IntentFilter();
intentf.addAction(Intent.ACTION_MEDIA_MOUNTED);
intentf.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
//隐式intent需要加上下面这句作匹配,否则接收不到广播
intentf.addDataScheme("file");
this.registerReceiver(in, intentf);
}
// 检测sdcard是否在机器中
public class DetectSdcard extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(Intent.ACTION_MEDIA_MOUNTED))
{
//挂载的...
}
else if(intent.getAction().equals(Intent.ACTION_MEDIA_UNMOUNTED))
{
//非挂载...
}
}
}
}
更多相关文章
- 兼容android Q存图片到相册
- Android(安卓)之通知Notification应用
- [Android] Service和广播联合更新UI
- android: 不需要焦点的TextView跑马灯 MarqueeTextView
- Android中获取电池电量
- android 接收锁屏广播
- android 视频播放器
- Android(安卓)6.0源码编译环境搭建
- android p 4G LTE 默认关闭修改