Android复制粘贴剪切板内容的一种方法

莫问天涯路几重,轻衫侧帽且从容。这篇文章主要讲述Android复制粘贴剪切板内容的一种方法相关的知识,希望能为你提供帮助。
1 Clipper介绍Clipper是一款简单的app, 它可以通过一行adb shell命令来和安卓系统剪切板服务交互。
官方说明:https://github.com/majido/clipper
 
2   App下载【Android复制粘贴剪切板内容的一种方法】下载地址:clipper.apk
 
3 使用方法  安装App
  启动广播服务

adb shellam startservice ca.zgrs.clipper/.ClipboardService

  get方法:print the value in clipboard into logs
am broadcast -a clipper.get

set方法:sets the clipboard content to the string passed via extra parameter "text"
am broadcast -a clipper.set -e text "this can be pasted now"

 
4   appium中使用的一个例子某个安卓手机先安装Clipper.apk
然后开启广播
//执行shell命令开启android广播服务 Process process = Runtime.getRuntime().exec("adb -s "+udid+" shell am broadcast -a clipper.get"); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is, "utf-8"); BufferedReader br = new BufferedReader(isr); String urlStr=""; String line=""; while ((line = br.readLine()) != null) { urlStr+=line; }if(urlStr.contains("result=0")){ Runtime.getRuntime().exec("adb -s "+udid+" shell am startservice ca.zgrs.clipper/.ClipboardService"); }

其中如果有多台手机,udid为事先定义的设备名称
capabilities.setCapability("deviceName", udid);

若某个url信息已在剪切板中,获取页面url地址
private String getUrl() throws IOException{String url=""; BufferedReader br =null; try{ Process process = Runtime.getRuntime().exec("adb -s "+udid+" shell am broadcast -a clipper.get"); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is, "utf-8"); br = new BufferedReader(isr); }catch(Exception e){ System.out.println("广播服务出现异常"); }try{ String urlStr=""; String line=""; while ((line = br.readLine()) != null) { urlStr+=line; } String[] s=null; if(urlStr.contains("data=https://www.songbingjia.com/"")){ s=urlStr.split("data=https://www.songbingjia.com/""); } else{ System.out.println("请启动广播服务"); } url=s[1].toString().trim().substring(0, s[1].length()-1); }catch(Exception e){ System.out.println("剪切板获取url异常"); } br.close(); return url; }

 

    推荐阅读