私はEditText
他のアプリケーションのフォーカスされたフィールドにテキストを送信する必要がある Android アプリを開発しています。
を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
独自のキーボードを作成し、そのソフト キーボードを介してテキストを送信する を使用して実行できることをいくつかのブログで読みました。あまり意味が分かりませんでした…
誰かがこれについて私を助けることができます。