2011-11-30 60 views
-1

因此,我需要创建一个服务,在HTTP端口上侦听字符,然后模拟按下该键,所以似乎用户自己按下了键,无论其中的应用程序在前面,并且该应用程序应该接受它。Android服务,模拟其他应用程序的硬件击键

你可以这样做,如何做到这一点? 在此先感谢!

编辑: 我发现this其授予应用程序,我qoute“允许应用程序截获用户事件(按键,触摸,轨迹球)到事件流,并提供给任何窗口没有这个权限,你。只能在自己的进程中将事件传递给Windows,很少有应用程序需要使用此权限。“

回答

4

不,你不能。如果可以的话,这将是一个严重的安全漏洞。唯一的半正常的方式就是让你实现一个软键盘,但即使如此,软键盘并不总是打开的。对操作系统或可能作出根本的改变,这是不应该的。

更新:

是技术上有INJECT_EVENTS,但requires you to be a system app。如果你正在建立一个ROM,或者如前所述,如果你是植根于你的could use this,但是否则你运气不好。

+0

即使应用程序明确要求获得该许可,就像它必须要求获得访问互联网的权限一样吗? – stipetic

+0

没有。键盘没有这种权限。即使有这样的权限,它会相当危险。这只是不包含在API中。 – kabuko

+0

对不起,我很抱歉,请看看[this](http://developer.android.com/reference/android/Manifest.permission.html#INJECT_EVENTS),它似乎正是我需要 – stipetic

相关问题