有没有人知道我如何通过软件模拟按back键?我见过一些模拟这个键和一些其他键的应用程序,比如home和search。但是因为它们不是开源的,所以我尝试构建自己的应用程序来管理这些任务。例如,回家很容易,因为我只需要发送一个意图。所以..。我能做些什么来模拟back键?:)
更新:
我从http://git.hoopajoo.net/下载了一个开源应用程序,它具有相同的功能
在那里它是这样做的:
Process process = Runtime.getRuntime().exec("su");
OutputStream outputStream = process.getOutputStream();
String cmd = "keycode " + KeyEvent.KEYCODE_BACK;
outputStream.write((cmd + "\n").getBytes("ASCII"));"keycode“命令从何而来?在我的Android rootfs中找不到任何所谓的二进制文件?!?!
发布于 2013-02-15 17:45:02
Aleadam方法在我的android 4.1.2上不起作用。我不知道为什么,但是这个变通方法是可行的:
public void dispachBackKey() {
dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
}发布于 2011-04-29 21:57:52
要对按键进行模拟,您可以发送一个KeyEvent:
myView.getRootView().dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));这种情况的另一种解决方案是有一个正在进行的通知(请参阅http://developer.android.com/reference/android/app/NotificationManager.html ),该通知将在被单击时停止服务。
发布于 2011-08-09 11:27:11
我和你有完全一样的问题。事实证明,SoftKeys使用的runCommand中的命令语法与shell不同。
在shell中模拟按键事件时,请使用input keyevent。查找文档,back按钮()的关键代码是4。因此,请执行以下操作:
input keyevent 4http://forum.xda-developers.com/showthread.php?t=971768
http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK
https://stackoverflow.com/questions/5832861
复制相似问题