Android 监听U盘插入和拔出并获取U盘文件路径
16lz
2021-01-23
首先实现一个接收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方法注册广播,但是未能收到广播,不知道是哪个步骤出了问题,有知道的小伙伴可以在评论里说下。
更多相关文章
- Android 页面或文件或网络请求时的加载动画
- Android 文件管理器
- Android 本地文件 调用系统 设置壁纸
- android 根据文件的扩展名选择用什么应用程序打开
- android将对象写入文件和从文件中读取对象数据
- Android中XML文件的序列化生成与解析
- 关于 SQLiteOpenHelper 的自创建数据库目录文件
- 设置android的布局文件的背景颜色为黑色
- Android 获取本地所有音频文件