Как из Service получить Activity
Всем привет!
У меня есть необходимость делать программное нажатие в разных активити, но в рамках одного приложения.
Я принял решение делать это через показ приложения поверх других приложений. Для создания плавающего виджета я скопировал код отсюда.
Теперь мне осталось лишь сделать клик. Для этого я создал такой метод:
void simulateEventDown(Activity yourActivity , float x, float y )
{
//Нажатие
MotionEvent e = MotionEvent.obtain( SystemClock.uptimeMillis(), SystemClock.uptimeMillis(),
MotionEvent.ACTION_DOWN, x, y, 0);
yourActivity.dispatchTouchEvent(e);
//Тут отжатие
MotionEvent e2 = MotionEvent.obtain( SystemClock.uptimeMillis(), SystemClock.uptimeMillis(),
MotionEvent.ACTION_UP, x, y, 0);
yourActivity.dispatchTouchEvent(e2);
}
Он принимает Activity, но Service не содержит Activity,как это странно бы не казалось. В Android и в Java я новичок, поэтому рад любому совету! Может кто из вас сталкивался с таким или имеет другое решение данной проблемы, делитесь, буду рад каждому комментарию
P.S. К активити, в котором необходимо делать клик у меня нет доступа (Это библиотека).
UPDATE
Узнал, что по мимо Activity, такое можно провернуть и с View, только тогда, нажатие будут происходить только внутри этого View
Это дубликат этого вопроса, просто боюсь, что никто не заметил тот вопрос