android.app.Instrumentation好像原来是用来做测试的,

可以用来模拟很多activity的操作

主要代码如下

package com.qefee.testinstrumentation;import android.app.Activity;import android.app.Instrumentation;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {TextView tv_showkey;Button btn_submit;EditText et_keycode;Instrumentation instrumentation;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);instrumentation = new Instrumentation();getViews();// 通过按钮点击,模拟事件btn_submit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {et_keycode.clearFocus();btn_submit.requestFocus();String keycodeStr = et_keycode.getText().toString();if (keycodeStr == null || "".equals(keycodeStr)) {Toast.makeText(MainActivity.this, "please input a keycode",Toast.LENGTH_SHORT).show();return;}final int keycode = Integer.parseInt(keycodeStr);// 必需在线程中运行,否者报错Thread t = new Thread(new Runnable() {@Overridepublic void run() {instrumentation.sendKeyDownUpSync(keycode);}});t.start();}});}/** *  */private void getViews() {tv_showkey = (TextView) findViewById(R.id.tv_showcode);btn_submit = (Button) findViewById(R.id.btn_submit);et_keycode = (EditText) findViewById(R.id.et_keycode);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {boolean onKeyDown = super.onKeyDown(keyCode, event);tv_showkey.setText("des = " + KeyEvent.keyCodeToString(keyCode)+ " : code = " + keyCode);System.out.println(event);// System.out.println(event.getAction());// System.out.println(event.getCharacters());// System.out.println(event.getDeviceId());// System.out.println(event.getDisplayLabel());// System.out.println(event.getDownTime());// System.out.println(event.getEventTime());// System.out.println(event.getFlags());// System.out.println(event.getKeyCode());//// System.out.println(KeyEvent.keyCodeToString(keyCode));return onKeyDown;}}

如果在文本框中输入24,或者25

点击按钮就能模拟音量加减键

键值可以查看android.view.KeyEvent

更多相关文章

  1. android之UI线程处理
  2. android之多线程
  3. ionic4处理android返回按钮事件
  4. Android 中的线程
  5. 浅析android线程模型【Android】
  6. Android底下多线程下载远程图片
  7. Android(线程二) 线程池详解

随机推荐

  1. android调用系统打电话功能
  2. Android实现画虚线的控件
  3. android CTS SELinuxDomainTest# testIni
  4. android wegit 组件
  5. androidのview游戏框架
  6. 判断android devices是否联网
  7. Android学习之ListView使用基础
  8. 【Android】进程与线程基本知识
  9. android经典优化点
  10. Android(安卓)手机震动