美文网首页
android 发送模拟按键

android 发送模拟按键

作者: 不吃鱼的猫_992d | 来源:发表于2020-08-26 16:36 被阅读0次

1. 权限

需要在manifest 里面增加android:sharedUserId="android.uid.system"
加上<uses-permission android:name="android.permission.INJECT_EVENTS" />权限

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
    android:sharedUserId="android.uid.system">

....

    <uses-permission android:name="android.permission.INJECT_EVENTS" />

2.使用

例子 sendKeyCode(KeyEvent.KEYCODE_POWER);

//导包
import android.app.Instrumentation;
import android.view.KeyEvent;
.....

        /**
         * 发送一个按键
         * @param keyCode 按键值
         */
        private void sendKeyCode(final int keyCode) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Instrumentation inst = new Instrumentation();
                        inst.sendKeyDownUpSync(keyCode);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }).start();
        }

3. keyevent的值

如果使用的是android studio
可以直接使用shift + ctrl + N 搜索KeyEvent.java


image.png

点击红框
实际framework路径:frameworks\base\core\java\android\view\KeyEvent.java

相关文章

网友评论

      本文标题:android 发送模拟按键

      本文链接:https://www.haomeiwen.com/subject/fgcfsktx.html