使用android的Input输入系统,模拟按键音量加减。
input命令
adb调试命令:
#音量+
adb shell input keyevent 24
#音量-
adb shell input keyevent 25
Instrumentation实现按键功能
代码实现,调用接口simulateKey()
public static void simulateKey(final int KeyCode) {
new Thread() {
@Override
public void run() {
try {
Instrumentation inst = new Instrumentation();
inst.sendKeyDownUpSync(KeyCode);
} catch (Exception e) {
Log.e("hello", e.toString());
}
}
}.start();
}
#音量+
simulateKey(KeyEvent.KEYCODE_VOLUME_UP);
#音量-
simulateKey(KeyEvent.KEYCODE_VOLUME_DOWN);
input命令实现按键功能
代码实现,调用接口simulateKeyByCommand()
public static void simulateKeyByCommand(final int KeyCode){
try{
String keyCommand = "input keyevent " +KeyCode;
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(keyCommand);
} catch(IOException e){
//Log.e(TAG, e.toString());
}
}
#音量+
simulateKeyByCommand(KeyEvent.KEYCODE_VOLUME_UP);
#音量-
simulateKeyByCommand(KeyEvent.KEYCODE_VOLUME_DOWN);
关于Key值的定义
frameworks\base\core\java\android\view\KeyEvent.java
列举几个:
/** Key code constant: '*' key. */
public static final int KEYCODE_STAR = 17;
/** Key code constant: '#' key. */
public static final int KEYCODE_POUND = 18;
/** Key code constant: Directional Pad Up key.
* May also be synthesized from trackball motions. */
public static final int KEYCODE_DPAD_UP = 19;
/** Key code constant: Directional Pad Down key.
* May also be synthesized from trackball motions. */
public static final int KEYCODE_DPAD_DOWN = 20;
/** Key code constant: Directional Pad Left key.
* May also be synthesized from trackball motions. */
public static final int KEYCODE_DPAD_LEFT = 21;
/** Key code constant: Directional Pad Right key.
* May also be synthesized from trackball motions. */
public static final int KEYCODE_DPAD_RIGHT = 22;
/** Key code constant: Directional Pad Center key.
* May also be synthesized from trackball motions. */
public static final int KEYCODE_DPAD_CENTER = 23;
/** Key code constant: Volume Up key.
* Adjusts the speaker volume up. */
public static final int KEYCODE_VOLUME_UP = 24;
/** Key code constant: Volume Down key.
* Adjusts the speaker volume down. */
public static final int KEYCODE_VOLUME_DOWN = 25;
/** Key code constant: Power key. */
public static final int KEYCODE_POWER = 26;
/** Key code constant: Camera key.
* Used to launch a camera application or take pictures. */
public static final int KEYCODE_CAMERA = 27;
/** Key code constant: Clear key. */
public static final int KEYCODE_CLEAR = 28;
/** Key code constant: 'A' key. */
public static final int KEYCODE_A = 29;
参考文献:
https://blog.csdn.net/u011913612/article/details/51916761
来源:CSDN
作者:sunxiaolin2016
链接:https://blog.csdn.net/Sunxiaolin2016/article/details/103715355