静态注册

  1. 新建UsbBroadcast继承BroadcastReceiver,然后重新onReceive方法

    
    public class UsbBroadcast extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {switch (intent.getAction()) {case Intent.ACTION_MEDIA_MOUNTED: {break;}case Intent.ACTION_MEDIA_UNMOUNTED: {break;}default:break;}}}
  2. 在AndroidManifest.xml中注册我们定义的广播接收器
    U盘插入和拔出广播为:
    android.intent.action.MEDIA_MOUNTED
    android.intent.action.MEDIA_UNMOUNTED

        <receiver android:name=".broadcast.UsbBroadcast"><intent-filter><action android:name="android.intent.action.MEDIA_MOUNTED"/><action android:name="android.intent.action.MEDIA_UNMOUNTED"/><data android:scheme="file"/></intent-filter></receiver>

    在上面的xml中,注意添加<data android:scheme="file"/>

  3. 这时候插拔U盘我们的广播接收器就能够收到消息了

动态注册

  1. 跟静态注册的第一步相同,新建我们的广播接收器
  2. 在activity启动时进行动态注册广播

    public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);UsbBroadcast usbBroadcast  = new UsbBroadcast();IntentFilter usbFilter= new IntentFilter();usbFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);usbFilter.addAction(Intent.ACTION_MEDIA_REMOVED);usbFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);usbFilter.addDataScheme("file");registerReceiver(usbBroadcast,usbFilter);}
    }
    
  3. 接收广播

无法接收到广播的可能性

  1. 取消静态注册广播,改为使用动态注册广播
  2. 静态注册中,记得添加<data android:scheme="file"/>
  3. 动态注册广播时,添加usbFilter.addDataScheme("file");

获取U盘的各种信息

下一篇blog将描述如何获取U盘的各种信息,包括U盘名称、格式、剩余空间、挂载路径等

Android8.0监听U盘插入拔出事件相关推荐

  1. 监听U盘插入 拔出 消息,获得U盘盘符

    目录 一.U盘插拔消息监听 1.顶层窗口监听WM_DEVICECHANGE消息 2.WM_DEVICECHANGE 详细参数描述

  2. JAVA实现监听U盘插入 扫描文件

    JAVA实现监听U盘插入 想用Java实现监听USB端口是否有移动设备插入,然后操作移动设备内的文件.网站查找资料后发现有个jsr-80的项目,下面先介绍一下什么是JSR:JSR是Java Speci ...

  3. Android 监听SD卡插入与拔出

    Android 监听SD卡插入与拔出 简单记录一下Android 如何监听SD卡插入与拔出,注意事项: 继承广播: public class SdStatusReceiver extends Broa ...

  4. Android 监听U盘OTG挂载状态

    Android 监听U盘OTG挂载状态 本篇博客介绍下在Android系统中,如何监听和获取U盘OTG挂载状态 在Android中插入U盘时,系统会先准备U盘并检查是否有错误,检查完成后才会把U盘挂载 ...

  5. 安卓监听手机USB接口拔插警报广播

    安卓监听手机USB接口拔插警报广播 很多场景我们都是需要监听手机拔插,手机都会自带一个广播去监听,我们手机充电,手机接入电脑的时候,一般都会有个小小的震动.在商场上,人多混杂,手机插在USB上,一旦有 ...

  6. C# 监听USB设备插拔动态(防多触发)

    一:通过winform窗体WndProc 局限于窗体程序中,不推荐使用 //事件代码 private const int WM_DEVICECHANGE = 0x219; //设备改变 private ...

  7. Android 监听USB设备插拔事件

    通过注册广播的方式监听USB设备 . 广播Action UsbManager.ACTION_USB_DEVICE_ATTACHED Usb设备插入或者挂载事件通知 UsbManager.ACTION_ ...

  8. android sim卡插拔广播,Android监听SIM卡插拔的方式

    监听SIM卡是否可用 import android.app.Service; import android.content.BroadcastReceiver; import android.cont ...

  9. android 7.0 短信监控,Android 7.0 监听网络变化的示例代码

    Android7.0前,Android系统前网络切换时,会发广播,业务只要监听广播即可. public class NetChangeReceiver extends BroadcastReceive ...

最新文章

  1. Decision stump、Bootstraping、bagging、boosting、Random Forest、Gradient Boosting
  2. 企业官网建设注重这四点错不了!
  3. apache配置文件httpd.conf----小白福利
  4. 【知识星球】为什么图像分类任务要从256*256中裁剪出224*224
  5. 数据结构-顺序查找和折半查找
  6. 每日一笑 | 程序员的日常,这也太真实了......
  7. codeforces1496 D. Let‘s Go Hiking(乱搞+讨论)
  8. [react] 在react中遍历的方法有哪些?它们有什么区别呢?
  9. 揭秘InputFormat:掌控Map Reduce任务执行的利器
  10. ‘gbk‘ codec can‘t decode byte 0xb9 in position 58: illegal multibyte sequence
  11. 如何使用MIME类型
  12. c语言盗取qq号程序,C++获取本机登陆过的QQ号码示例程序
  13. Firefox 火狐下自动刷新的插件 ReloadEvery
  14. Shapefile属性操作之删
  15. 攻防世界-mfw-(详细操作)做题笔记
  16. 使用USBCAN通讯(转载)
  17. iOS 第三方 汇总
  18. python外卖点餐系统毕业设计开题报告
  19. 【docker lnmp】 2、容器mysql 连接问题 getaddrinfo failed
  20. android 皮肤包换肤之Resources加载(一)

热门文章

  1. linux显卡透传,显卡虚拟化方案之GPU透传(二)理论基础篇
  2. java上课听不懂怎么办_如何快速渡过上课听不懂阶段?
  3. 三大检索工具(SCI、EI、ISTP)收录检索技巧及核心期刊投稿导引
  4. 彻底删除mysql服务(清理注册表)
  5. 计算机发展cpu元器件,cpu由什么组成(组成cpu的元器件包括什么)
  6. 收藏:PPT素材网站等大全
  7. 金蝶K3后台SQL修改总账供应链固定资产应收应付启用年份期间当前年份期间
  8. Android 将文字转换成图片并保存起来,搭建android开发环境实验报告
  9. 深度linux编程工具,Deepin Tool Kit(Dtk):构建深度样式应用程序的工具
  10. 中国联通大数据产品“沃指数”首发