Форум для тех, кто программирует под Android
Anonymous
Как запустить Android-приложение на виртуальном экране?
Сообщение
Anonymous » 04 мар 2026, 04:12
Цель
Я хочу запустить приложение Android (стороннее), но не показывать его на физическом экране.
Условия
Иметь полный исходный код системы (AOSP)
Иметь root-права
Попытки
Попробуйте создать виртуальный экран и запросите приложение для отображения на нем (следующий код выполняется с помощью android.uid.system).
Код: Выделить всё
public static android.hardware.display.VirtualDisplay createDisplay(
Context context,
Surface surface,
String name,
int height,
int width,
int dpi
) {
DisplayManager displayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
android.hardware.display.VirtualDisplay display = displayManager.createVirtualDisplay(
name, width, height, dpi, surface,
DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC |
DisplayManager.VIRTUAL_DISPLAY_FLAG_SECURE |
DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY |
DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION |
DisplayManager.VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT |
DisplayManager.VIRTUAL_DISPLAY_FLAG_TRUSTED |
DisplayManager.VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH |
/*DisplayManager. VIRTUAL_DISPLAY_FLAG_OWN_FOCUS*/ 1
Подробнее здесь: [url]https://stackoverflow.com/questions/77541511/how-to-start-an-android-application-on-a-virtual-screen[/url]
1772586775
Anonymous
Цель Я хочу запустить приложение Android (стороннее), но не показывать его на физическом экране. Условия [list] [*]Иметь полный исходный код системы (AOSP) [*]Иметь root-права [/list] Попытки [list] [*]Попробуйте создать виртуальный экран и запросите приложение для отображения на нем (следующий код выполняется с помощью android.uid.system). [/list] [code] public static android.hardware.display.VirtualDisplay createDisplay( Context context, Surface surface, String name, int height, int width, int dpi ) { DisplayManager displayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE); android.hardware.display.VirtualDisplay display = displayManager.createVirtualDisplay( name, width, height, dpi, surface, DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC | DisplayManager.VIRTUAL_DISPLAY_FLAG_SECURE | DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION | DisplayManager.VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT | DisplayManager.VIRTUAL_DISPLAY_FLAG_TRUSTED | DisplayManager.VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH | /*DisplayManager. VIRTUAL_DISPLAY_FLAG_OWN_FOCUS*/ 1 Подробнее здесь: [url]https://stackoverflow.com/questions/77541511/how-to-start-an-android-application-on-a-virtual-screen[/url]