Android 无线调试+检测usb外部设备插入并打开app

最近在做一个需要连接usb外设的项目,主要记录一下中间碰到的两个问题。

  • 因为项目需要所以中间要在插入usb外设的情况下进行调试,但是手机只有一个连接口,在没办法的情况下只能想到用无线调试的方法
  • 实现插入usb外设打开相应app

一、无线调试

  • 设备: 华为P10 +window10

  • 前提条件:手机和电脑必须连接同一WiFi

  • 操作步骤:
    1、将手机和电脑连接
    2、打开cmd 输入 adb tcpip 9999 ,这个数字自定义随便取,如下图:
    Android 无线调试+检测usb外部设备插入并打开app_第1张图片
    3、拔掉usb连接线,也可以不拔,如果最后不成功就拔掉再重新操作一遍。
    4、输入 adb connect 192.168.0.121:9999 ,如下图:
    Android 无线调试+检测usb外部设备插入并打开app_第2张图片
    这个ip地址是手机连接的WiFi IP地址。
    5、最后可以输入 adb devices查看设备是否连接。

    以上步骤也是大部分相关文章的内容,但是有些手机这样是没办法正常开启无线调试的,比如我的华为P10,还需要在开发人员选项中打开 仅充电模式下允许ADB调试
    好了,无线调试至此结束,又收获了一项新技能。

二、插入usb外设然后打开相应app
这个问题是让我耗费时间最长的问题了,为啥呢,因为一开始方向就错了,我的思路是监听usb外设插入的广播然后启动app。结果不多想肯定是不行的。为此我还实验了开机自动启动,结果发现了在Android6.0上可以实现监听开机广播app自启动,但是在Android8.0的手机上就不行了,开机之后纹丝不动,在网上逛了一大圈也没有找到解决的办法。不过付出还是有回报的,最后我才发现原来想实现的功能和广播接收毛关系都没有。

  • 解决方法:在manifest中加入以下内容
    Android 无线调试+检测usb外部设备插入并打开app_第3张图片
    并新建xml文件夹,新建devices_filter.xmlwen文件夹 内容如下图:
    Android 无线调试+检测usb外部设备插入并打开app_第4张图片
    里面的内容应该是厂商id和产品id,所以当此型号设备通过Usb连接到系统时,对应的Activity就会启动。
    参考连接https://blog.csdn.net/lincyang/article/details/50739342

你可能感兴趣的:(Android 无线调试+检测usb外部设备插入并打开app)