【问题标题】:How to generate Ctrl+v(Paste) like similar event from an android app?如何从 android 应用程序生成类似事件的 Ctrl+v(Paste)?
【发布时间】:2018-10-04 07:31:09
【问题描述】:

我正在尝试在 android 中生成粘贴事件。我已经在 android 中阅读了有关“Keyevents”的信息,但到目前为止我还没有找到任何生成粘贴事件的键。 Thisstackoverflow 问题也没有帮助。

即使是接受的答案也不是很清楚。那么有什么方法可以通过使用任何 3rd 方库等来做到这一点。请帮助

【问题讨论】:

  • 复制文本而不是粘贴。
  • @Klatschen 如果我必须在任何其他应用的 Edittext 上粘贴文本,它会起作用吗?
  • 我想是的,但我现在不知道它是否正确,现在无法测试它:)
  • @Klatschen 我已经尝试过了,但它没有以任何方式粘贴文本,我不知道他们为什么将其命名为粘贴模块。它只是获取复制的文本。

标签: android adb


【解决方案1】:

经过大量研究,我终于找到了一种粘贴复制文本的方法,那就是使用Accessibility Service

我从this stackoverflow 线程中搜索一个异常时得到了解决方案。

仍然是为了快速查看,我也将代码粘贴到这里,如果您已经复制了文本并且您的辅助功能服务已全部设置,那么您可以使用这段代码:

  @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {

        AccessibilityNodeInfo source = event.getSource();
        if (source != null && ( event.getEventType() == AccessibilityEvent.TYPE_VIEW_FOCUSED ) ) {

                try{
                        Thread.sleep(2000);
                    }catch (Exception e){

                    }
            source.performAction(AccessibilityNodeInfo.ACTION_PASTE); 

        }
    }   

我添加了 Thread.sleep(2000) 以便让 UI 有时间加载并稍后粘贴文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    相关资源
    最近更新 更多