2012-02-28 65 views
0

我正在尝试将ChimpChat用于包括将输入事件注入连接设备的项目。Android ChimpChat按退格键

有方法 1. void press(PhysicalButton key,TouchPressType type); 2. void press(String keyName,TouchPressType type);

我可以正确使用第一种方法:iDevice.press(button,type);

但是,我不能得到第二种方法的工作。尝试类似iDevice.press(“A”,类型)不会在设备上键入“A”,即使记录以下内容:

2012年2月27日下午4:58:36 com.android.chimpchat .ChimpManager sendMonkeyEventAndGetResponse 信息:猴命令:按下按键A.

我能够通过使用

解决此
  1. void类型(字符串字符串);

现在我的问题是,我怎样才能让退格键工作?调用类型(“\ b”);不会在设备上擦除。

有没有人用过2. void press(String keyName,TouchPressType type);方法?如果是这样,我做错了什么?我对keyName应该是什么感到困惑。如果没有,是否有人知道如何将退格字符发送到设备?

非常感谢!

回答

1

最近我看了ChimpManager有几个方法比IDevice公开。您可以通过device.getManager()访问其他方法。其中一种可能对你有帮助的方法是press(PhysicalButton)。所以,你应该能够得到退格像这样的工作:

device.getManager().press(PhysicalButton.BACK) 

Look at the source更多的洞察力,它是如何工作。

UPDATE:

哎呀,你要寻找的退格!按照monkey自述:

键[向下| UP]键码

此命令注入的KeyEvent的到输入系统。密钥代码 参数指的是KeyEvent类 (http://developer.android.com/reference/android/view/KeyEvent.html)中的KEYCODE列表。 该参数的格式非常灵活。以菜单键 为例,它可以是82(键码的整数值), KEYCODE_MENU(键码的名称),或者只是菜单(并且猴子 将添加KEYCODE部分)。请注意,对于像KEYCODE_1这样的东西,这最后一部分不起作用 ,原因很明显。

所以看的KeyEvent类,你应该能够使用:

device.getManager().keyDown("KEYCODE_DEL") // Backspace according to KeyEvent 
// OR 
device.getManager().keyDown("67") 
+0

PhysicalButton.BACK指物理上的“返回”按钮,带您到前一页。我正在寻找的按钮是“Backspace”,它删除了前一个字符。 – user1193425 2012-02-28 04:25:10

+0

对不起...我已经更新了 – dbryson 2012-02-28 13:47:54

+0

非常感谢!这工作! 只是一个简短的问题 - 我可以在哪里找到每个键的键名(例如,退格键是“KEYCODE_DEL”)? – user1193425 2012-02-28 18:18:13