Comments (5)
目前已知的实现方法是在InstrumentationInput里的input里
mInst.sendKeyDownUpSync( KeyEvent.KEYCODE_B );
就是输入一个B
from robothelper.
有两种思路,1.把文字写入剪切板,然后模拟按下.ctal+v
第二种是自己实现一个输入法,向自己的输入法发送数据,然后输入法执行输入
from robothelper.
建议进入到instrumentation.java里面去看看,里面还有其他函数应该可以试试看,比如:
/////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Sends the key events corresponding to the text to the app being
* instrumented.
*
* @param text The text to be sent.
*/
public void sendStringSync(String text) {
if (text == null) {
return;
}
KeyCharacterMap keyCharacterMap = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD);
KeyEvent[] events = keyCharacterMap.getEvents(text.toCharArray());
if (events != null) {
for (int i = 0; i < events.length; i++) {
// We have to change the time of an event before injecting it because
// all KeyEvents returned by KeyCharacterMap.getEvents() have the same
// time stamp and the system rejects too old events. Hence, it is
// possible for an event to become stale before it is injected if it
// takes too long to inject the preceding ones.
sendKeySync(KeyEvent.changeTimeRepeat(events[i], SystemClock.uptimeMillis(), 0));
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Higher-level method for sending both the down and up key events for a
* particular character key code. Equivalent to creating both KeyEvent
* objects by hand and calling {@link #sendKeySync}. The event appears
* as if it came from keyboard 0, the built in one.
*
* @param keyCode The key code of the character to send.
*/
public void sendCharacterSync(int keyCode) {
sendKeySync(new KeyEvent(KeyEvent.ACTION_DOWN, keyCode));
sendKeySync(new KeyEvent(KeyEvent.ACTION_UP, keyCode));
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
可以的话稍微说一下实际需求,使用场景,我对这些也有点兴趣。
另外楼主提到的KeyEvent里面好像26个字母和数字还有特别的按键比如空格好像都有不是吗,所以是那里让你觉得需要改进呢
希望我的小小意见对你有帮助
from robothelper.
@chongkaechin 如果我没记错的话,instrumentation只能输入键盘上的值,如果需要输入中文的话还是得走剪切板和输入法。
突然想到,还有一种可以使用shell执行input命令,input是android的一个debug命令,这个好像可以输入中文
from robothelper.
原来如此,学习了。
from robothelper.
Related Issues (20)
- opencv 安装问题 HOT 1
- 图片匹配报错 HOT 5
- 图片模板匹配 HOT 8
- 尝试使用回收的位图错误如何解决? HOT 5
- 请问一下一些脚本的功能 HOT 1
- 交流 HOT 1
- 二值化找图 HOT 12
- 我见你的博客里面提到 不使用opencv,自己用Java实现模板匹配,后来怎么又安装opencv模块了 HOT 1
- e7root HOT 2
- 这个框架还可以正常运行吗? HOT 1
- 取色工具 HOT 5
- 可以适配安卓11吗? HOT 1
- 没连接usb进行模拟点击会导致手机卡主 HOT 2
- 雷电模拟器中不定时闪退 HOT 8
- root模式下,点击次数的限制 HOT 3
- getScreenCapHorizontal 中的 bitmapCacheVertical.isRecycled() 错误 HOT 3
- 不会配置环境 HOT 1
- input往输入框输入文字留的有接口,有计划实现吗 HOT 6
- 截图有些文字颜色有问题 HOT 3
- 大佬的网站打不开了 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from robothelper.