Как запустить другое приложение в фоновом режиме, когда экран программно выключен на рутованном устройстве?

Я создаю небольшое приложение, которое должно иметь возможность автоматически запускать полностью отдельные приложения после регистрации определенных триггеров.

Я попробовал следующие два метода для запуска приложений:

  • начать деятельность

    Intent i = ctx.getPackageManager().getLaunchIntentForPackage("package.name"); ctx.startActivity(i);

  • команда оболочки

    adb shell monkey -p package.name -c android.intent.category.LAUNCHER 1

Проблема в том, что первый метод работает, только если экран включен и разблокирован, а команда может вывести приложение на передний план. Второй метод, даже если он запускает приложения, приложения не запускают свои дочерние действия.

Чтобы поместить это в контекст, скажем, я хочу запустить приложение VPN. Первый метод ничего не делает, если экран выключен или телефон заблокирован. Вторая команда запускает приложение даже при заблокированном телефоне и выключенном экране, но приложение не запускает свою собственную службу / активность VPN, пока я не включу экран. По сути, приложения ничего не делают (даже если они запускаются), пока экран не включен.

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

Приложение будет использоваться на рутированном телефоне Android 7.0.

0 ответов

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