ami*_*hgc 8 android accessibilityservice
我正在开发一个Android应用程序,我必须将文本发送到EditText其他应用程序的焦点字段.
我已经完成了API level 18使用AccessibilityService,当我找到它时EditText,我从ClipBoard粘贴数据.这是代码,
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,AccessibilityNodeInfo.ACTION_PASTEAPI级别18及以上版本可用.
我们能否在API等级<18时达到相同的水平?
我在一些博客中读到它可以使用InputMethodService,我们创建自己的键盘并通过软键盘发送文本.我对此并不了解......
有人可以帮我这个.
您可以获得当前焦点的视图:
public View getCurrentFocus() {
return mWindow != null ? mWindow.getCurrentFocus() : null;
}
Run Code Online (Sandbox Code Playgroud)
然后设置文本:
editTextObject.setText(CharSequence)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2694 次 |
| 最近记录: |