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
点击红框
实际framework路径:frameworks\base\core\java\android\view\KeyEvent.java