最近用到PC端和移动端通过USB连接传输数据的方式,于是总在使用Adb命令,为了逻辑的严谨和代码容错,想在传输数据的之前,PC和移动端先建立一次会话,防止移动端还未连接就直接传输数据会报错,找了很久并未发现这类方法,于是自己在代码里面通过Adb实现了这个方法。供大家参考,欢迎大家有更好的实现方式多多交流。

直接上代码

	/**
* @Description: 判断是否连接设备
* @Param: []
* @return: boolean
* @Author: Mengw9
*/
public static boolean isLinkDevices(){
String str = this.adbCmd("D:\adb\adb devices");
assert str != null;
str = str.replaceAll("List of devices attached", "").replaceAll("\n", "");
if (!str.isEmpty()){
System.out.println("已连接设备,设备名为:"+str);
return true;
}
System.out.println("未连接设备");
return false;
} /**
* @Description: 执行cmd命令
* @Param: [cmd]
* @return: void
* @Author: Mengw9
*/
public static String adbCmd(String cmd){
Process process;
try {
process=Runtime.getRuntime().exec(cmd);
System.out.println(inputStream2String(process.getInputStream()));
return inputStream2String(process.getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
return null;
} /**
* @Description: 返回流处理成字符串
* @Param: [inputStream]
* @return: java.lang.String
* @Author: Mengw9
*/
private static String inputStream2String(InputStream inputStream){
String result="";
BufferedReader br=new BufferedReader(new InputStreamReader(inputStream));
try {
String temp="";
while ((temp=br.readLine())!=null){
result+=temp+"\n";
}
} catch (IOException e) {
e.printStackTrace();
}
return result;
}

使用这个代码需要在本地下载有adb的驱动,我的是直接放在D盘

adb驱动分享一下 https://www.lanzous.com/b0bk4wlpe 密码: 8uz5

其他学习Adb命令链接:

Adb常用命令

Adb安装详解

java中通过Adb判断PC是否连接了移动设备的更多相关文章

  1. JAVA 中两种判断输入的是否是数字的方法__正则化_

    JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengz ...

  2. Java中的空值判断

    Java中的空值判断 /** * 答案选项: * A YouHaidong * B 空 * C 编译错误 * D 以上都不对 */ package com.you.model; /** * @auth ...

  3. tips:Java中while的判断条件

    tips:Java中while的判断条件! 在c++中,有时候会遇到这种情况: while(x = y){ dosomething; } 如果x与y相等,这个时候如果循环体中没有跳出的点,那么会无限循 ...

  4. Java 中的"+"号(加法和连接)

    Java 中的"+"号(加法和连接) public class Test { public static void main(String[] args) { System.out ...

  5. 关于JAVA中的String的使用与连接(转)

    JAVA中的String连接性能 Java中的String是一个非常特殊的类,使它特殊的一个主要原因是:String是不可变的(immutable).           String的不可变性是Ja ...

  6. 161101、在Java中如何高效判断数组中是否包含某个元素

    如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种 ...

  7. 在Java中如何高效判断数组中是否包含某个元素

    如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种 ...

  8. adb使用wifi无线连接调试Android设备

    先上官方原文: Wireless usage adb is usually used over USB. However, it is also possible to use over Wi-Fi, ...

  9. java中Integer,String判断相等与integer的比较大小

    package sfk.bbs.test.springjsbctempletTest; import static org.junit.Assert.*; import org.junit.Test; ...

随机推荐

  1. Frightful Formula Gym - 101480F (待定系数法)

    Problem F: Frightful Formula \[ Time Limit: 10 s \quad Memory Limit: 512 MiB \] 题意 题意就是存在一个\(n*n\)的矩 ...

  2. haproxy2.0 dataplaneapi 简单说明

    haproxy2.0 支持基于dataplaneapi 的haproxy 动态配置修改以及服务生效,早期大家为了动态 可以会基于dsn 的服务发现模式,基于confd 结合consul 动态生成配置并 ...

  3. rsync同步备份

    一.服务器端.备份客户端安装 rsync 服务. 1.环境: CentOS 主 IP:172.16.3.18 备 IP:172.16.3.19 2.安装 rsync 软件 #yum install r ...

  4. url的组成部分

    /news/index.asp?boardID=5&ID=24618&page=1#name 协议:http: //为分隔符 域名:www.aspxfans.com :为域名和端口之间 ...

  5. Macbook Pro A1398 換電池手札

    前不久老MBP总是风扇狂转,cpu 100%,一直觉得有问题,就买了工具想着把機器拆開看一下. 結果,不拆不知道,一拆開發現機器變成下面醬紫了: 整個一炸藥包啊!此時我腦中只有一個念頭:得趕緊馬上立刻 ...

  6. 洛谷 P3806 【模板】点分治1-树分治(点分治,容斥版) 模板题-树上距离为k的点对是否存在

    P3806 [模板]点分治1 题目背景 感谢hzwer的点分治互测. 题目描述 给定一棵有n个点的树 询问树上距离为k的点对是否存在. 输入格式 n,m 接下来n-1条边a,b,c描述a到b有一条长度 ...

  7. webstorm永久破解

    准备 1. webstorm下载 本次使用的是2017.3.3版本,如果找不到那么在此附上:webstorm各版本下载地址. 前段时间有朋友反馈破解不成功,今天本人亲测2017.3.3仍可以破解成功, ...

  8. GoCN每日新闻(2019-11-05)

    GoCN每日新闻(2019-11-05) GoCN每日新闻(2019-11-05) 1. Protobuf 终极教程 https://colobu.com/2019/10/03/protobuf-ul ...

  9. Tensorflow 损失函数(loss function)及自定义损失函数(三)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/limiyudianzi/article ...

  10. 安全漏洞XSS、CSRF、SQL注入以及DDOS攻击

    随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面列举一些常见的安全漏洞和对应的防御措施. 0x01: XSS漏洞 1.XSS简介 跨站脚本(cross site s ...