android4.4监听不到USB插拔广播的解决方法

虽然4.4系统已经是很久以前的版本了,市面上也基本上没有4.4系统的手机,平板等设备。但是有的盒子、电视机用的还是4.4的系统,为了满足客户的需求只能去适配。最近遇到一个客户4.4系统插拔USB监听不到Intent.ACTION_MEDIA_MOUNTED广播的问题。查了下资料,再加上自己的一些修改,最终解决了这个问题。

1. 新建一个xml文件,命名为:android.hardware.usb.host.xml 

   在里面添加内容:
   <?xml version="1.0" encoding="utf-8"?>
   <permissions>  
    <feature name="android.hardware.usb.host"/>  
   </permissions>
2. 将这个文件push到 /system/etc/permissions目录下
3. adb shell ,cd 到 /system/etc/permissions目录下,找到一个叫:tablet_core_hardware.xml 的文件
   把这个文件pull出来,打开编辑,在文件末尾添加一行:<feature name="android.hardware.usb.host" />
   其他内容不做任何变动

4. 编辑好后,把tablet_core_hardware.xml再push到/system/etc/permissions目录下。然后重启设备。

不同芯片平台,tablet_core_hardware.xml这个文件的名称可能不一样,根据实际情况来即可。

5. 在AndroidManifest.xml中添加权限:
   <uses-permission android:name="android.hardware.usb.host" />
   <uses-permission android:name="android.hardware.usb.accessory" />
6. 在监听usb热插拔的广播监听处,不要用UsbManager.ACTION_USB_DEVICE_ATTACHED去监听,4.4好像只能在activity中      做动态监听,在service里还不行。
    修改为监听:Intent.ACTION_MEDIA_MOUNTED

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LakeSideHu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值