首先实现一个接收U盘挂载和异常广播的BroadcastReceiver

public class USBReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        StorageManager mStorageManager = (StorageManager) context.getSystemService(Activity.STORAGE_SERVICE);        String action = intent.getAction();        if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {            // U盘根目录            String mountPath = intent.getData().getPath();            if (!TextUtils.isEmpty(mountPath)) {                Log.d("TAG", "U盘挂载:" + mountPath);            }        } else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED) || action.equals(Intent.ACTION_MEDIA_EJECT)) {            Log.d("TAG", "U盘移除");        } else if (action.equals("android.intent.action.BOOT_COMPLETED")) {        }    }}

然后在Manifest文件中声明该BroadcastReceiver及监听的广播

                                                

只需以上两步就完成了U盘挂载或者移除的广播监听,我们可以在监听里做一些具体的操作,比如U盘挂载后根据U盘路径获取里面的文件内容等。

以上广播的注册采用的是在Manifest中注册,我试过通过代码的registerReceiver方法注册广播,但是未能收到广播,不知道是哪个步骤出了问题,有知道的小伙伴可以在评论里说下。

 

更多相关文章

  1. Android 页面或文件或网络请求时的加载动画
  2. Android 文件管理器
  3. Android 本地文件 调用系统 设置壁纸
  4. android 根据文件的扩展名选择用什么应用程序打开
  5. android将对象写入文件和从文件中读取对象数据
  6. Android中XML文件的序列化生成与解析
  7. 关于 SQLiteOpenHelper 的自创建数据库目录文件
  8. 设置android的布局文件的背景颜色为黑色
  9. Android 获取本地所有音频文件

随机推荐

  1. Android--EditText控件属性汇总
  2. Android——SpannableString实现带圆角标
  3. Android(安卓)关于倒计时功能的实现
  4. Android各分辨率定义的图片规格
  5. Android(安卓)实用类
  6. 2020年 Android必会面试题
  7. 设置popupwindow弹出后的背景透明效果
  8. Android 项目打包成apk文件
  9. android上opengl性能分析工具
  10. ListView自动滚动方法