2016-11-01 10 views
0

Если я пишу свое собственное приложение для Android, я знаю, как его структурировать как Сервис, чтобы он запустился в фоновом режиме.Android: запуск любой активности для начала в фоновом режиме?

Однако есть ли способ запустить существующее приложение (например, любой случайный .apk из Play Маркета), чтобы он запустился в фоновом режиме, без его экрана, отображающего экран?

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

Я готов сделать это любым способом: через Java, через одну или несколько утилит командной строки, через плагин Tasker, через модуль Xposed или что угодно.

Благодарим вас за любые указатели на документы или любые предложения.

+0

«Есть ли способ запустить существующее приложение (например, любой случайный .apk из Play Маркета), чтобы он запускался в фоновом режиме, без того, чтобы экран отображал экран?» - если вы действительно спрашиваете, можете ли вы начать произвольное действие из существующего приложения (например, его активности запуска), без того, чтобы этот процесс занимал передний план, ответ - нет. «Я не знаю, как программно поставить текущее приложение в фоновом режиме ...» - вызовите 'startActivity()' для запуска какой-либо другой активности. – CommonsWare

+0

".. определить предыдущее приложение и вернуть его на передний план" - это невозможно в новых версиях Android для обеспечения конфиденциальности и безопасности. – CommonsWare

+0

Итак, вы говорите, что в современных версиях Android нет способа выяснить предыдущее действие, которое было оккупировано экраном, поэтому я мог бы затем вызвать его через startActivity()? Не существует ли какой-либо путь из командной строки для запроса того, какая активность находится на переднем плане? – HippoMan

ответ

0

Я обнаружил, что запись # 0 «повторений активности dumpsys» дает текущую отображаемую активность ... по крайней мере, на моем корневом устройстве Marshmallow. Это дает мне то, что мне нужно.