android发送键盘事件(应用层)

啥也不说了,直接贴代码:

package org.winplus.keydemo;

import android.app.Activity;
import android.app.Instrumentation;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;

public class MenuDemoActivity extends Activity {
    protected static final String TAG = "MenuDemoActivity";

	@Override
    public void onCreate(Bundle savedInstanceState) {
    	requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final Button button = (Button) findViewById(R.id.button1);
        button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				sendKeyCode(KeyEvent.KEYCODE_DPAD_DOWN);
			}
		});

        final Button button2 = (Button) findViewById(R.id.button2);
        button2.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				sendKeyCode(KeyEvent.KEYCODE_DPAD_DOWN);
			}
		});
    }

	/**
	 * 传入需要的键值即可
	 * @param keyCode
	 */
    private void sendKeyCode(final int keyCode){
		new Thread () {
			public void run() {
				try {
					Instrumentation inst = new Instrumentation();
					inst.sendKeyDownUpSync(keyCode);
				} catch (Exception e) {
					Log.e("Exception when sendPointerSync", e.toString());
				}
			}
		}.start();
	}
}
时间: 2024-11-20 12:56:38

android发送键盘事件(应用层)的相关文章

android自定义键盘如何触发事件

问题描述 android自定义键盘如何触发事件 android上点击AActivity的一个EditText,打开自定义键盘,怎么通过自定义键盘上的完成按钮,再触发AActivity的EditText的事件?

浅析Android 模拟键盘鼠标事件

通过Socket + Instrumentation实现模拟键盘鼠标事件主要通过以下三个部分组成:Socket编程:实现PC和Emulator通讯,并进行循环监听Service服务:将Socket的监听程序放在Service中,从而达到后台运行的目的.这里要说明的是启动服务有两种方式,bindService和startService,两者的区别是,前者会使启动的Service随着启动Service的Activity的消亡而消亡,而startService则不会这样,除非显式调用stopServi

Android 软键盘

一.android 软件盘事件响应 在android中,有时需要对EditText实现软件盘监听的场景.当android按下软键盘的时候,响应完成.发送.搜索或者其他事件. Google 提供了 EditorInfo.KeyEvent 的一些方法,能够实现我们需要的功能.详细可研究:EditorInfo.class 和 KeyEvent.class.   输入回车键隐藏输入键盘的方法: 如果布局中包含多个EditText,可以为每个EditText控件设置android:singleLine="

探索Android软键盘的疑难杂症

探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View

android-如何解决Android点击事件之间的冲突呢

问题描述 如何解决Android点击事件之间的冲突呢 如题:想做一个播放音频的Demo,可以发送文字和语音,现在问题来了,当发送文字之后键盘还在弹起状态,我在整个View里面添加了OnTouch事件,当点击的时候关闭软键盘,现在想播放语音,点击播放按钮的时候会先关闭掉软件盘,然后才能点击按钮,如何做到两个点击事件不冲突呢,求大神解答 解决方案 去掉你的onTouch事件,在所在的Activity中加入如下代码: // 点击编辑框之外的地方收回软键盘 @Override public boolea

总结Selenium WebDriver中一些鼠标和键盘事件的使用

在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类. 其次,在实际测试过程中,可能会遇到某些按键没办法使用 Actions.Keys 等类来

android外接键盘监听按键响应时间

问题描述 android外接键盘监听按键响应时间 如题,对于可以外接键盘的android设备,比如盒子之类的智能设备,可以监听到其按键响应时间吗? 解决方案 android 键盘按键监听android 键盘按键监听Android如何键盘按键响应事件 解决方案二: http://blog.csdn.net/kakaxi1o1/article/details/17644705

360浏览器文本框获得焦点后被android软键盘遮罩该怎么办_Android

场景是这样的,站点上筛选按钮点击后弹出层(fixed),当输入框获取焦点以后弹出系统自带的软键盘,在android上十款浏览器挨个测试比对,发现在360浏览器弹出键盘以后获取焦点的文本框被软键盘覆盖了. 截图如下   (未获取软键盘焦点的情况)               (chrome浏览器调起软键盘的情况)            (360浏览器调起软键盘情况)       那么问题来了,浏览器的软键盘显示出来又哪几种情况呢?英文   中文(网上找的)       经过简单的了解,大概分析了一

suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)_javascript技巧

重要的键盘事件: 事件顺序:keydown -> keypress ->keyup 对于输入法开启时: keypress: 这三个事件中最最特别的事件的说,如果巧妙运用可以事半功倍: 1. 首先对于大部分功能键是没有keypress事件的 Caps lock ,shift,alt,ctrl,num lock...庆幸的是enter拥有此事件 2. 对于字母,数字,press返回的keyCode是不可靠的 在IE和webkit 下 返回的是ASCII code firfox下永远返回0 但是 对