#android #android-picture-in-picture
#Android #android-картинка в картинке
Вопрос:
Я реализую изображение в режиме изображения. В документации говорится, что вы можете использовать android:launchMode="singleTask"
и переопределять onNewIntent(). Если я это сделаю, он вызовет onConfigurationChanged() (если activity находится в режиме picture в режиме picture). Итак, я этого не хочу.
Что произойдет, если я не использую singleTask launchMode? Вызовет ли это какие-либо проблемы или ошибки при запуске этого конкретного действия во второй раз?
Ответ №1:
Для PIP использование singleTask
идеально, поскольку оно создаст совершенно другой стек для обработки функций PIP. Если пользователь находится в режиме pip и если пользователь нажимает на значок приложения, новая задача не будет создана, та же задача будет использована повторно, и намерение будет передано onNewIntent(Intent intent)
методу. Таким образом, мы можем реализовать pip в приложении с одним действием, поскольку нам не нужно поддерживать backstack в одном действии.
Комментарии:
1. Да, это абсолютно верно. Но мое приложение — это приложение для браузера. Итак, я хочу открыть новую вкладку в onNewIntent(). Итак, если приложение находится в режиме pip, то оно вызывает onconfigurationchanged() . Это вызывает некоторые проблемы, которых не будет, если я не использую singleTask в качестве режима запуска. Теперь это нормально? Или это вызовет какие-то другие проблемы? А что, если пользователь откроет видео в режиме pip в этой новой вкладке, когда уже запущен режим pip для предыдущего экземпляра activity?