是否可以在 Android 中从一个应用程序模拟touch events
到另一个应用程序?也许使用服务或具有SYSTEM_ALERT
属性的不可见活动来接收input touches
然后将它们模拟到另一个应用程序的另一个活动,该活动直接位于应用程序的透明活动下方。这可能吗?
[更新]
考虑到 FoamyGuy 的回答,是否有可能有一个不可见的SYSTEM_ALERT
活动来过滤掉某些触摸事件?我知道您可以撤消活动的输入。是否可以撤销选择性输入?还是我仍然需要创建自定义 ROM?
是否可以在 Android 中从一个应用程序模拟touch events
到另一个应用程序?也许使用服务或具有SYSTEM_ALERT
属性的不可见活动来接收input touches
然后将它们模拟到另一个应用程序的另一个活动,该活动直接位于应用程序的透明活动下方。这可能吗?
[更新]
考虑到 FoamyGuy 的回答,是否有可能有一个不可见的SYSTEM_ALERT
活动来过滤掉某些触摸事件?我知道您可以撤消活动的输入。是否可以撤销选择性输入?还是我仍然需要创建自定义 ROM?
这不可能。这将引起重大的安全问题。您可以使用 Instrumentation API 将事件注入到您自己的活动中,但不能将事件注入到任何不属于您自己的活动中。
这样做的能力将使规避用户交互做某些事情(即安装/卸载应用程序)的必要性变得微不足道。
如果您希望能够做到这一点,则必须在您自己的设备上修改系统以启用它。
是的,如果您的应用程序使用平台证书签名,您可以使用 INJECT_EVENTS 权限并在任何应用程序上注入事件:
http://developer.android.com/reference/android/Manifest.permission.html#INJECT_EVENTS