按键与KEYCODE使用

一、手机常见按键:

  1)HOME 主屏幕键

  2) MENU 菜单键

  3) BACK 返回键

  4) VOLUME_UP 音量加键

  5) VOLUME_DOWN 音量减键

  6) RecentApps 最近使用app

  7) POWER 电源键

  8) Dpad 上下左右键

  9) ......

二、按键API说明:

返回值 方法名 描述
boolean pressBace() 模拟短按返回back键
boolean pressDPadCenter() 模拟轨迹球中点按键
boolean pressDPadDown() 模拟轨迹球向下按键
boolean pressDPadLeft() 模拟轨迹球向左按键
boolean pressDPadRight() 模拟轨迹球向右按键
boolean pressDPadUp() 模拟轨迹球向上按键
boolean pressDelete() 模拟短按删除delete按键
boolean pressEnter() 模拟短按回车键
boolean pressHome() 模拟短按home键
boolean pressKeyCode(int keyCode, int metaState) 模拟短按键盘代码keyCode
boolean pressKeyCode(int keyCode) 模拟短按键盘代码keyCode
boolean pressMenu() 模拟短按menu键
boolean pressRecentApps() 模拟短按最近使用程序
boolean pressSearch() 模拟短按搜索键

举例:

package com.uiautomatortest;

import android.os.Bundle;
import android.os.RemoteException; import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testHome(){ UiDevice.getInstance().pressHome();
sleep(2000);
} public void testMenu(){ UiDevice.getInstance().pressMenu();
sleep(2000);
} public void testRecent() throws RemoteException{ UiDevice.getInstance().pressRecentApps();
sleep(2000);
} }

Test.java

三、KEYCODE 键盘映射码:

  1)KeyEvent 按键事件

  2)META KEY

    辅助功能键:ALT、SHIFT、CAPS_LOCK

激活状态 metaState
base META_key未被激活 0
caps Shift或Caps Lock被激活 1
fn Alt被激活 2
caps_fn Alt、Shift或Caps Lock同时被激活 3

举例:

package com.uiautomatortest;

import android.os.Bundle;
import android.os.RemoteException;
import android.view.KeyEvent; import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testHome(){ UiDevice.getInstance().pressHome();
sleep(2000);
} public void testMenu(){ UiDevice.getInstance().pressMenu();
sleep(2000);
} public void testRecent() throws RemoteException{ UiDevice.getInstance().pressRecentApps();
sleep(2000);
} public void testKeyCode(){ UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A); //小写a
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B); //小写b
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_C); //小写c UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A,1); //大写A
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B,1); //大写B
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_C,1); //大写C } }

Test.java

最新文章

  1. 'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  2. asp.net ajax 调用一例
  3. 集群NAS技术架构
  4. 创建高安全性PHP网站的几个实用要点
  5. DB2系统管理试题标准答案
  6. poj 1147 Binary codes
  7. 使用sprintf打印float并控制小数位数时引起的问题
  8. Median of Two Sorted 求两个有序数组的中位数
  9. windows server 2008 应用程序池自动关闭 C:\Windows\system32\RpcProxy\RpcProxy.dll failed to load
  10. Linux Force DHCP Client (dhclient) to Renew IP Address
  11. Android性能优化——之防止内存泄露
  12. [转]关于python中带下划线的变量和函数的意义
  13. 创建springboot项目
  14. db2常用语句
  15. postman Could not get any response。
  16. centos安装ES(elasticsearch)
  17. Vue(七) 组件详解
  18. CRM 模拟用户
  19. 【Go命令教程】3. go install
  20. MySQL 忘记root密码的两种处理方法

热门文章

  1. 外网无法连接Kafka集群(报错:NoBrokersAvailable)
  2. XAMPP Apache + MySQL + PHP + Perl
  3. window onload 与 img onload事件
  4. python——异常except语句用法与引发异常
  5. kafka分布式搭建
  6. Hive row_number() 等用法
  7. MVC之ActionFilterAttribute自定义属性
  8. PHP 命名空间namespace 和 use
  9. Atitit.  Js 冒泡事件阻止 事件捕获   事件传递  事件代理
  10. Android JNI和NDK学习(06)--JNI的数据类型(转)