Я пытаюсь использовать java.awt.Robot в приложении для Android с этим кодом
Robot robot = null;
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
// Simulate a key press
robot.keyPress(KeyEvent.KEYCODE_A);
robot.keyRelease(KeyEvent.KEYCODE_A);
По умолчанию кажется, что
import java.awt.Robot;
недоступно в Android SDK,Поэтому для этого я попытался импортировать .jar, скачанный с http://www.java2s.com/Code/Jar/j/Downloadjavartjarstubs150jar.htm с именем
java-rt-jar-stubs-1.5.0.jar
Но когда я запускаю приложение в этой строке кода
robot = new Robot();
Iполучите это исключение
java.lang.VerifyError: Verifier rejected class java.awt.Robot due to bad method void java.awt.Robot.<init>(java.awt.GraphicsDevice) (declaration of 'java.awt.Robot' appears in /data/app/com.example.myapp-1/split_lib_dependencies_apk.apk)
Итак, я начинаю думать, что, возможно, я не смогу использовать Java.awt.Robot, даже если я импортирую банку в зависимости от приложения.
КакВы можете видеть из кода, который мне нужен из моего Приложения (в частности, из моего намерения), чтобы эмулировать ввод с клавиатуры и записывать каждый вводимый текст.
Поэтому мне нужно отправлять текст на ввод, ориентированный как эмулированное нажатие клавиатуры.
Есть идеи?
PS: Я тоже пытался использовать это
Instrumentation m_Instrumentation = new Instrumentation();
m_Instrumentation.sendKeyDownUpSync( KeyEvent.KEYCODE_B );
с разрешением
<permission android:name="android.permission.INJECT_EVENTS" />
, но, видимо, его нельзя использовать изстороннее приложение, но только из проверенных Служб Google, потому что я получаю это исключение
java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission