使用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() {@Overridepublic 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;
参考文献:
/u011913612/article/details/51916761