import android.hardware.input.InputManager;
import android.os.SystemClock;
import android.util.Log;
import android.view.InputDevice;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
public class InputKey {
private long mDownTime;
private int mCode;
private int mScancode;
private void sendEvent(int action, long when) {
final KeyEvent ev = new KeyEvent(mDownTime, when, action, mCode, 0,
0, KeyCharacterMap.VIRTUAL_KEYBOARD, mScancode, 0
| KeyEvent.FLAG_FROM_SYSTEM
| KeyEvent.FLAG_VIRTUAL_HARD_KEY,
InputDevice.SOURCE_KEYBOARD);
InputManager.getInstance().injectInputEvent(ev,
InputManager.INJECT_INPUT_EVENT_MODE_ASYNC);
}
public void inputKeyUpDown(int keyCode) {
mCode = keyCode;
mScancode=0;
mDownTime = SystemClock.uptimeMillis();
sendEvent(KeyEvent.ACTION_DOWN, mDownTime);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
sendEvent(KeyEvent.ACTION_UP, SystemClock.uptimeMillis());
}
public void inputKeyUpDown(int keyCode,int scanCode) {
mCode = keyCode;
mScancode=scanCode;
mDownTime = SystemClock.uptimeMillis();
sendEvent(KeyEvent.ACTION_DOWN, mDownTime);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
sendEvent(KeyEvent.ACTION_UP, SystemClock.uptimeMillis());
}
}
Android 发送按键事件
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在Android项目中,相信Eventbus大家已经很熟悉了,Eventbus是一个支持跨Module的事件发送响...
- 事件系统主要通过单例事件管理器:EventManager和事件参数:EventArgs(可以是任意类型),来进行事...
- 一、点击页面按钮,原生向JavaScript端发送事件 第一步:创建MyModule 第二步:创建MyPackag...
- 上两篇文章分别单独分析了KeyEvent在View树中分发和View获得焦点的过程,实际上这两个并不是独立的,当我...