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

Пожалуйста, помогите мне решить эту проблему или, если у вас есть какие-либо тестовые проекты, пришлите мне. Благодарю.

0 ответов

Другие вопросы по тегам