在服务中无法获取usb配件设备枚举

生死看淡,不服就干 2018-12-26 09:46:51
最近在研究android的usb通讯,然后发现谷歌提供了两种方式来实现,这里主要是在使用usb的配件模式时遇到了问题,如果我直接在活动中去实现usb配件模式这个是没有问题的,但是,我想把这个写成一个服务,这里就出现了问题,
usbmanager = (UsbManager) context.getSystemService(Context.USB_SERVICE);
获取usb管理对象都很正常,但是当我想枚举配件设备时
UsbAccessory[] accessories = usbmanager.getAccessoryList();
是null,这里我觉得应该是跟context有关,如果context是一个活动就可以获取到usb配件,如果context是服务这里枚举usb配件就是null。这个是为什么?有大佬知道吗?
...全文
98 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我后面又试了下,又可以获取到了,不知道搞什么鬼?谢谢了。
王能 2018-12-26
  • 打赏
  • 举报
回复
看了一下源码,并没有对UsbManager有特殊要求,Activity里面也没有特殊处理。你可以试试一下几点: 1.UsbManager是否有动态权限问题 2.UsbManager获取时间有没有对上 可以测试同时用Activity和Service对两个先后按不同顺序调用应该就有结果了

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧