Android Inject Touch событий в других приложениях
Я хочу создать приложение, которое вводит событие касания из моего приложения. Простой как прикосновение к posX,posY
каждые 5 секунд (таймер).
Я только что создал приложение, которое работает на моем activity
только.
Вот код, который выполняет сенсорное событие.
new Thread(new Runnable() {
@Override
public void run() {
m_Instrumentation.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, posX, posY, 0));
m_Instrumentation.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(),MotionEvent.ACTION_UP,posX, posY, 0));
}
}).start();
Тогда я просто добавил INJECT_EVENTS
разрешение в моем AndroidManifest.xml
<uses-permission android:name="android.permission.INJECT_EVENTS"></uses-permission>
Я также сделал свое приложение как системное приложение, изменив его root на /system/app
Когда я запускаю свое приложение, оно работает нормально, нажав на posX
а также posY
один раз в секунду Но когда я рисую панель навигации или просто пытаюсь свернуть приложение, оно, к сожалению, закрывается с ошибкой.
injecting to another application requires inject_events permission
Пожалуйста, помогите мне решить эту проблему или, если у вас есть какие-либо тестовые проекты, пришлите мне. Благодарю.