- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发一个 Android 应用程序,我必须将文本发送到其他应用程序的焦点 EditText
字段。
我在 API level 18
及更高版本中使用 AccessibilityService
完成了此操作,当我找到 EditText
时,我从剪贴板粘贴数据。这是代码,
public class TestService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
AccessibilityNodeInfo source = event.getSource();
if (source != null && event.getEventType() == AccessibilityEvent.TYPE_VIEW_CLICKED && event.getClassName().equals("android.widget.EditText")) {
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "TEST DATA");
clipboard.setPrimaryClip(clip);
source.performAction(AccessibilityNodeInfo.ACTION_PASTE);
}
}
}
但是,AccessibilityNodeInfo.ACTION_PASTE
在 API 级别 18 及更高版本中可用。
我们能否在 API 级别 < 18 中实现相同的目标?
我在一些博客中读到可以使用 InputMethodService
来完成,我们在其中创建自己的键盘并通过该软键盘发送文本。我没看懂很多...
谁能帮我解决这个问题。
最佳答案
您可以使用 API 14 中的 ACTION_PASTE,但您必须调用 AccessibilityRecordCompat
和 AccessibilityNodeInfoCompat
,如下所示:
AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(event);
AccessibilityNodeInfoCompat source = record.getSource();
source.performAction(AccessibilityNodeInfo.ACTION_PASTE);
关于android - AccessibilityNodeInfo - 发送文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23100695/
我正在开发一个 Android 应用程序,其中包含辅助功能服务,允许用户创建“宏”,该宏可以快速、自动地执行他们经常使用他们已经使用的第三方应用程序执行的任务(而不必与某些对讲服务交互,在该服务中,他
我正在开发一个 Android 应用程序,我必须将文本发送到其他应用程序的焦点 EditText 字段。 我在 API level 18 及更高版本中使用 AccessibilityService 完
使用Android 4.2.2 我正在尝试编写一个 AccessibilityService,并且具有大多数所需的功能。我正在覆盖层上绘图,并允许用户通过蓝牙开关选择/点击突出显示的项目(目的是希望仅
所以我是新手,一直在玩弄 onAccessibilityEvent 并阅读来自其他应用程序屏幕上的 TextViews,它运行良好,但现在我想能够使用 AccessibilityNodeInfo.AC
我想使用无障碍服务执行滚动,我正在这样做 public boolean scrollView(AccessibilityNodeInfo nodeInfo) { if (nodeInfo == nul
我有一个为事件类型“typeViewTextSelectionChanged”运行的无障碍服务。每当用户选择任何文本时,我都能够捕获此事件触发器,但是如何从 AccessibilityNodeInfo
我正在开发 Android 辅助功能服务。我有一个 AccessibilityNodeInfo表示一个 EditText。是否可以编辑包含的文本? 我尝试使用 mynode.setText("aaa"
我正在开发一种无障碍服务,具有类似的触摸探索功能。 我可以通过以下方式聚焦菜单和主屏幕图标 public void updateViewNodes(AccessibilityNodeInfo sour
我在我的应用程序中使用 AccessibilityService 将一些文本粘贴到另一个应用程序的 EditText 中。 我正在使用以下代码来实现相同的目的, Bundle bundle = new
我正在创建一个需要使用 AccessibilityService 的应用程序。而且获取其他应用程序的窗口内容也没有问题。我已经从窗口内容中检测到所有可用的子节点,并且该子节点显示在 Accessibi
我正在编写一个AccessibilityService,我想在无障碍服务可以检索的当前 Activity 的 View 上创建 View 覆盖。从当前 Activity 中检索所有 Accessibi
我已经阅读了 https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo.html
我想滚动当前屏幕。我试过这个 AccessibilityNodeInfo accessibilityNodeInfo=getRootInActiveWindow(); accessibilityNod
我正在为 Android 编写一个 AccessibilityService,直到 API 级别 20,我一直在使用 AccessibilityEvent.getSource() 方法来获取可遍历的
我使用辅助功能服务将所有文本显示在屏幕上。正常工作几分钟后,它导致了一些 GC allocated... 日志的 ANR,几秒钟后,它崩溃并出现以下错误: @Override public void
收到大量 ANR 报告, "main" prio=5 tid=1 Runnable | group="main" sCount=0 dsCount=0 flags=0 obj=0x72e8a568 s
我正在尝试使用以下代码创建 TextView 的 AccessibilityNodeInfo: protected void onCreate(Bundle savedInstanceState) {
我正在尝试使用 AccessibilityNodeInfo 但是当我使用 event.getSource() 它总是返回 null,我尝试读取浏览器的编辑框这是我的代码: public class M
我试图让 TalkBack 说出 host View 内的文本内容,然后加上“很酷”。 为此,我在线性布局上设置辅助功能委托(delegate),但 info 参数的 text 和 contentDe
我正在尝试访问另一个应用程序的文本内容,该应用程序可能是使用基于非 native (js+html)的框架构建的。 因此,我想我会尝试从与 WebView 元素对应的可访问性节点访问数据。但是,我无法
我是一名优秀的程序员,十分优秀!