【问题标题】:Simulate key press from an android service模拟来自 android 服务的按键
【发布时间】:2012-09-25 15:04:30
【问题描述】:

我想制作一个 android 服务,让我在收到意图时模拟按键以填充网页上的字段。这是否可能以任何方式或可能通过不同的过程(不是通过模拟按键?)。

例如,我希望能够做什么。

用户在他的平板电脑上并选择了网页上的一个字段。对于发现的任何蓝牙设备,请使用该 ID 填写该字段。

有没有办法通过调用网络浏览器的意图或类似的东西来做到这一点?

谢谢

编辑:认为我的例子很糟糕。

这是我真正想做的事

当手机上检测到nfc标签时, 读取 nfc 标签 ID, 模拟当前手机焦点所在的 id 标签的按键事件

示例:我在 google 上专注于搜索字段,我在手机上放了一个 nfc 标签,手机在 google 搜索字段上输入了 Nfc 标签 ID,瞧

【问题讨论】:

  • 我不知道你的问题的真实答案,但如果你可以从 UI 线程模拟按键,你可以使用 handler 发送消息以执行按钮点击
  • 嗯实际上我希望能够在不离开浏览器的情况下在浏览器字段中输入文本。我真正想做的是:当检测到 nfc 标签时,读取 ID,模拟 id 标签的按键事件,无论当前焦点在手机上
  • 你可以调用javscript的表单android,反之亦然

标签: android key android-browser simulate


【解决方案1】:

如果你真的想模拟keyevents,你可以使用系统调用:

input keyevent <keycode>

【讨论】:

  • 好的,但是当我不在应用程序中,但实际上是在默认浏览器或 chrome 等网络浏览器中时,我怎么能这样做
  • 你不是说你在服务吗?
  • 是的,但后来我读到 android 上的服务链接到应用程序,而不是我理解的服务,例如在 windows 上
  • 什么?在你的情况下,你可能有一些服务或监听 nfc 的东西?当您阅读某些内容时,您可以通过按键对其进行转换...
  • 对!我第一次没有得到它,但它应该是我需要的!谢谢
【解决方案2】:

我建议您使用广播接收器。之后您必须创建一个自定义意图类,当用户选择一个字段时注册接收者。与网页交互,最好使用javascript调用原生android方法。 当您检测到设备发送您的广播时,如果您已注册,您将处理该事件。

【讨论】:

  • 感谢您的回答,我在主要问题上的示例非常糟糕,因此我对其进行了编辑以反映更多我的想法
猜你喜欢
  • 2012-01-31
  • 2014-11-30
  • 2011-06-27
  • 1970-01-01
  • 2010-12-28
  • 2015-06-13
  • 2013-12-04
相关资源
最近更新 更多