По време на сесия за разработване на сгъваеми устройства и ситуации с много дисплеи, Google разкри повече информация за това как работи десктоп режимът в Android Q.
С Android Q Google продължава работата си по разширяване на Android отвъд традиционните форми на смартфон, таблет, смарт часовник и телевизор. The Samsung Galaxy Fold и Huawei Mate X сгъваемите смартфони привлякоха по-голямата част от вниманието ни към Android Q родна поддръжка за сгъваемия форм-фактор, но Google тихомълком моли разработчиците да преработят приложенията си, за да поддържат друг сценарий с множество дисплеи: настолни компютри и монитори.
Huawei и Samsung са водещи в преодоляването на разликата между смартфона и настолния компютър с въвеждането на Лесно прожектиране и DeX съответно. Както е традиция, Google взема най-добрите части от OEM софтуера и бавно ги включва в AOSP. В Android Q компанията е добавяне на собствена поддръжка за „настолен режим.” Не бихте го знаели обаче, тъй като компанията никога не го е споменавала по време на нито един от основните си доклади на Google I/O, вместо това премествайки го в малка част от сесия за създаване на приложения за сгъваеми и многодисплейни форм-фактори (наричани още като десктоп режим).
В лекцията, озаглавена „Създаване на приложения за устройства със сгъваеми, многодисплейни и големи екрани“, Андрий Кулиан, софтуерен инженер за Android Екипът на Framework WindowManager, работещ върху Multi-Display, сподели подробности за това как разработчиците могат да подготвят своите приложения за мулти-дисплей среди.
„Сгъваемите телефони може да имат няколко екрана, но можете също да намерите мултидисплей в коли, в телефони, свързани към по-големи екрани в десктоп режим, в Chrome OS и т.н.“ - Андрий Кулиан, Google.
Разработване за новия режим на работния плот в Android Q
Ако се интересувате от актуализиране на вашето приложение за Android, за да поддържа настолни среди, трябва да гледате сесията, вградена в края на тази статия. Все пак ще обобщя основните моменти:
- За да може приложението ви да поддържа едновременна употреба на основния (телефон) и вторичния (монитор) екрани, приложението ви трябва да поддържа множество екземпляри. С флаговете за намерения НОВА ЗАДАЧА и MULTIPLE_TASK, Android Q може да създаде втори прозорец на вашето приложение на вторичния дисплей.
- Новото поведение при множество автобиографии важи и за сценарии с много дисплеи. По този начин можете да конфигурирате приложението си да работи, докато друго приложение има фокус.
- Ако смятате, че приложението ви трябва да се стартира предимно на основния или вторичния дисплей, можете да проверите флаговете, показателите и състоянието, за да намерите правилния дисплей, на който да стартирате активността. Обърнете внимание, че системата може да ограничи стартирането на активност на частни дисплеи, за които Google добави нов API в Android Q, за да провери дали обаждащият се може да стартира дейност за конкретна дейност.
- Google добави поддръжка в Android Q за показване на прозореца на софтуерната клавиатура на вторичния екран. Въпреки че все още е възможно да имате само един прозорец на софтуерната клавиатура в даден момент, прозорецът може да се движи между дисплеите.
- Тапетите и живите тапети могат да бъдат отделни на няколко дисплея.
- Както е показано на изображението на функцията, режимът на работния плот има поддръжка за стартиращи програми на трети страни на вторични екрани. Google добави a нова категория към филтъра за намерения за предоставяне на специална дейност за вторични екрани. Дейността трябва да има режим на стартиране, който не предотвратява множество екземпляри и който се адаптира към различни размери на екрана. Потребителят може да зададе стартовия панел по свой избор на устройството и ако текущо избраният стартер има специална дейност за вторични екрани, той ще бъде поставен там от системата.
- Разработчиците могат да тестват своите приложения на вторични екрани, като активират „принудителен режим на работния плот“, който включва системата декларации на всички поддържани екрани и показва показалеца на мишката там вместо текущия дисплей, и "разреши прозорци със свободна форма", за да разрешите плаващи прозорци на приложения. Ще трябва обаче да рестартирате устройството, за да влязат в сила промените. Ако притежавате Google Pixel, можете да опитате режим на работния плот, като активирате симулиран дисплей в Опции за разработчици. На други устройства с поддръжка за изход на дисплея през HDMI можете да опитате режим на работния плот, ако имате USB-C към HDMI адаптер. The Essential Phone, например, стартира новия режим на работния плот в Android Q просто като го включите в монитор.
Тук правя странни предположения, но мисля, че предстоящият Pixel 4 ще поддържа извеждане на дисплея през HDMI, така че Google да може да рекламира новия десктоп режим на Android Q като функция. Ще разберем след 5 месеца, когато Google пусне новите Pixels.
Благодарим на XDA Senior Member farmerbb за предупреждението относно разговора!