Изменение размера запущенного activity в режиме free-form

Рейтинг: 1Ответов: 0Опубликовано: 11.02.2023

Коротко про режим free-form

Free-form - это режим для работы с окнами произвольной формы. Подробнее... Пример работы Мой код для запуска activity в режиме free-form

val intent = packageManager.getLaunchIntentForPackage("com.android.chrome")

var options = ActivityOptions.makeBasic()
try {
    val method: Method = ActivityOptions::class.java.getMethod("setLaunchWindowingMode", Int::class.javaPrimitiveType)
    method.invoke(options, 5)
} catch (_: Exception) {}

val windowsSize = Rect(
    0,
    0,
    resources.displayMetrics.widthPixels,
    resources.displayMetrics.heightPixels
)
options = options.setLaunchBounds(windowsSize)

startActivity(intent, options.toBundle())

Для корректной работы кода необходимо включить несколько опций в режиме разработчика

adb shell settings put global enable_freeform_support  1
adb shell settings put global force_resizable_activities  1

Вопрос

Как программно изменить размер окна, в котором запущено activity, без потери данных в activity (без перезапуска приложения)?

Ответы

Ответов пока нет.