2016-12-05 22 views
0

Я создал фоновое обслуживание на Android, и у меня есть две кнопки, которые появляются в верхней части экрана все время. Я хочу использовать эти две кнопки, например, прокрутку вниз и прокрутку вверх. Но эти две кнопки должны работать на любых приложениях, таких как Instagram, Facebook, Twitter и так далее. Таким образом, это означает, что он должен работать во всех приложениях, которые используют прокрутку.прокрутка андроида программно во всех приложениях

Я ищу неделю в Интернете, но не нашел решения.

ответ

2

Это невозможно, извините. Что-то вроде этого потребует вашего Service, чтобы иметь доступ к приложениям , и это было бы серьезным нарушением безопасности, поскольку вы могли бы считывать значения из них и так далее.

Вы можете добиться этого с помощью трансляции пользовательского кода (так что в основном ваши кнопки будут действовать как физические кнопки на устройстве), но это, скорее всего, потребует от вас разрешения на системном уровне и некоторый уровень сотрудничества с OEM-производителями.

У Android Activity класс имеет метод под названием dispatchKeyEvent(), который может позволить вам имитировать ввод ключа (с некоторыми ограничениями), но этого нет в классе Service.

0

К сожалению, это не то, что вы можете сделать в Android. Как правило, вы не должны иметь возможность касаться представлений с помощью фоновой службы, точкой фоновой службы является то, что вы выполняете в ней какую-то работу (например, загружаете файлы на свой веб-сервер или получаете некоторые данные). Вы можете отправить сигнал из службы после завершения работы, чтобы сообщить приложению, что что-то должно произойти, однако приложение должно быть специально закодировано для ответа на это вещательное событие.

Если вы хотите сделать это с помощью приложения, которое вы разработали, это может быть достигнуто с помощью метода onReceive, например, BroadcastReceiver, однако вы не можете точно определить поведение других приложений, поскольку это будет представлять собой нарушение безопасности в Android.