首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android back key by software

Android back key by software
EN

Stack Overflow用户
提问于 2011-04-29 21:44:29
回答 4查看 7.9K关注 0票数 1

有没有人知道我如何通过软件模拟按back键?我见过一些模拟这个键和一些其他键的应用程序,比如home和search。但是因为它们不是开源的,所以我尝试构建自己的应用程序来管理这些任务。例如,回家很容易,因为我只需要发送一个意图。所以..。我能做些什么来模拟back键?:)

更新:

我从http://git.hoopajoo.net/下载了一个开源应用程序,它具有相同的功能

在那里它是这样做的:

代码语言:javascript
复制
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中找不到任何所谓的二进制文件?!?!

EN

回答 4

Stack Overflow用户

发布于 2013-02-15 17:45:02

Aleadam方法在我的android 4.1.2上不起作用。我不知道为什么,但是这个变通方法是可行的:

代码语言:javascript
复制
public void dispachBackKey() {
    dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
    dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
}
票数 11
EN

Stack Overflow用户

发布于 2011-04-29 21:57:52

要对按键进行模拟,您可以发送一个KeyEvent:

代码语言:javascript
复制
myView.getRootView().dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));

这种情况的另一种解决方案是有一个正在进行的通知(请参阅http://developer.android.com/reference/android/app/NotificationManager.html ),该通知将在被单击时停止服务。

票数 5
EN

Stack Overflow用户

发布于 2011-08-09 11:27:11

我和你有完全一样的问题。事实证明,SoftKeys使用的runCommand中的命令语法与shell不同。

在shell中模拟按键事件时,请使用input keyevent。查找文档,back按钮()的关键代码是4。因此,请执行以下操作:

代码语言:javascript
复制
input keyevent 4

http://forum.xda-developers.com/showthread.php?t=971768

http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5832861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档