使用adb dumpsys 实现手机文本数据的快速交互
2017-02-25 19:12
1741 查看
需求提出:
在进行调试的时候,需要进行pc与手机间的文本数据交互,比如把pc上的一个比较长的网址字符串发到手机上,或者把手机上的一些字符串发到pc上
已有方案:
1. 把数据保存到文本中,再传送文本,打开文本,获取数据
2. pc和手机上安装im软件进行通信
这些方法可以实现数据的传送,但是,作为追求快速高效与倾向于敲键盘的专业coder,还可以怎样去实现呢?
把pc上的字符数据到手机上,就用现成的adb input 吧
在手机上点击一个输入框,然后进入adb,使用命令input text实现文字输入
$ input text http://blog.csdn.net/aaajj/article/details/52627192
看着刷刷刷的输入效果,挺有意思的,当然,需要注意下手机输入法。
怎样把手机上的字符串传送到pc控制台呢?
可否利用下手机的剪切板呢?
查了下剪切板的使用方法
使用了我们熟悉的getSystemService,看来实现读取剪切板字符数据还是有戏的
自然要使用我们的老朋友dumpsys了
查看源码ClipboardManager.java,有
再查看ClipboardService.java
有
看到
就知道了可以使用dumpsys来进行实现,具体分析将在Binder介绍了进行说明
ClipboardService.java里没有dump方法,不妨碍我们进行验证
$ dumpsys clipboard
没有输出,也没有报错
dumpsys -l 的显示里有clipboard
下面就进行实现,在ClipboardService.java里添加方法
以及对应的import
重新编译
连接adb,在手机上复制一段字符串
然后在adb里
$ dumpsys clipboard
就可以显示出手机剪切板的字符串了
在进行调试的时候,需要进行pc与手机间的文本数据交互,比如把pc上的一个比较长的网址字符串发到手机上,或者把手机上的一些字符串发到pc上
已有方案:
1. 把数据保存到文本中,再传送文本,打开文本,获取数据
2. pc和手机上安装im软件进行通信
这些方法可以实现数据的传送,但是,作为追求快速高效与倾向于敲键盘的专业coder,还可以怎样去实现呢?
把pc上的字符数据到手机上,就用现成的adb input 吧
在手机上点击一个输入框,然后进入adb,使用命令input text实现文字输入
$ input text http://blog.csdn.net/aaajj/article/details/52627192
看着刷刷刷的输入效果,挺有意思的,当然,需要注意下手机输入法。
怎样把手机上的字符串传送到pc控制台呢?
可否利用下手机的剪切板呢?
查了下剪切板的使用方法
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); String getString = clipboardManager.getPrimaryClip().getItemAt(0).getText().toString();
使用了我们熟悉的getSystemService,看来实现读取剪切板字符数据还是有戏的
自然要使用我们的老朋友dumpsys了
查看源码ClipboardManager.java,有
/** * Returns the current primary clip on the clipboard. */ public ClipData getPrimaryClip() { try { return getService().getPrimaryClip(mContext.getOpPackageName()); } catch (RemoteException e) { return null; } }
再查看ClipboardService.java
有
/** * Implementation of the clipboard for copy and paste. */ public class ClipboardService extends IClipboard.Stub {
看到
IClipboard.Stub
就知道了可以使用dumpsys来进行实现,具体分析将在Binder介绍了进行说明
ClipboardService.java里没有dump方法,不妨碍我们进行验证
$ dumpsys clipboard
没有输出,也没有报错
dumpsys -l 的显示里有clipboard
下面就进行实现,在ClipboardService.java里添加方法
@Override protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("Get clipboard:"); ClipData cData = getClipboard().primaryClip; if (cData != null) { pw.println("" + cData.getItemAt(0).coerceToText(mContext)); } }
以及对应的import
import java.io.FileDescriptor; import java.io.PrintWriter;
重新编译
连接adb,在手机上复制一段字符串
然后在adb里
$ dumpsys clipboard
就可以显示出手机剪切板的字符串了
相关文章推荐
- 使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法
- 使用FileInputStream和ByteArrayOutputStream 实现文本数据的回读
- oracle使用bulk collect insert实现大数据快速迁移
- Flashtext 使用文档 大规模数据清洗的利器-实现文本结构化
- 使用批处理实现解析文本数据文件写入数据库表
- 【C/S通信交互之Http篇】使用Curl与Jetty(Server)实现手机网游Http通信框架&解决curl.h头文件找不到问题
- 【使用JSOUP实现网络爬虫】修改数据-设置元素的文本内容
- Android 使用Json实现服务器与客户端数据的交互
- 使用数组实现快速数据查找
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- C#实现大数据量TXT文本数据快速高效去重
- 使用xmlConn组件和struts来实现数据的异步交互
- JSP与Access2010结合,实现数据的交互使用
- 使用SerialPort及ZedGraph快速实现串口数据实时显示
- 使用Chrome快速实现数据的抓取(二)——协议 - 天方 - 博客园
- 【使用JSOUP实现网络爬虫】修改数据-设置元素的文本内容
- android实现数据快速与组件交互
- androd使用Realm实现数据存储到手机数据库
- 使用Chrome快速实现数据的抓取(一)——概述
- 使用Fragment实现简单的数据交互