KOTLIN_ADEPT Telegram 50
Custom Quick Settings tiles

Забавно, что являясь Android разработчиком, мне очень редко приходится решать задачи, связанные с самой платформой и ее фичами, и, думаю, я такой не один. Но недавно появилась потребность добавить свою кастомную плитку для приложения в шторку с быстрыми настройками.

Каждая такая плитка представляет из себя специальный сервис под названием TileService. Это особый вид bound сервиса, который имеет свои особенности жизненного цикла и все нюансы подробно описаны в гайде.

Проблема только в том, что нашел я этот гайд уже после того как сам разобрался, что к чему, ведь по запросу TileService отдавало все что угодно: скудную документацию, статьи подозрительного качества, но только не гайд 😒

Главное, что нужно знать, что обновлять плитку можно только в промежутке между onStartListening() и onStopListening() и по умолчанию этот промежуток соответствует поведению, когда плитка видна на экране у пользователя, что выглядит довольно логично и похоже на то, как мы подписываемся на стейт в UI, но Google почему-то рекомендует явно запрашивать listening state 🤔. Как по мне, первый способ является более удобным, но разумеется все зависит от конкретного кейса.

⚠️Однако я столкнулся с одной проблемой, само по себе взаимодействие с TileService не переводит ваше приложение в состояние foreground и вы можете столкнуться с различными ограничениями системы. В моем случае помог запуск отдельного foreground сервиса из TileService.

💬А используете ли вы данную функциональность в своих приложениях? Если да, то какие сценарии вы туда выносите?

#Android
@kotlin_adept
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33👨‍💻31



tgoop.com/kotlin_adept/50
Create:
Last Update:

Custom Quick Settings tiles

Забавно, что являясь Android разработчиком, мне очень редко приходится решать задачи, связанные с самой платформой и ее фичами, и, думаю, я такой не один. Но недавно появилась потребность добавить свою кастомную плитку для приложения в шторку с быстрыми настройками.

Каждая такая плитка представляет из себя специальный сервис под названием TileService. Это особый вид bound сервиса, который имеет свои особенности жизненного цикла и все нюансы подробно описаны в гайде.

Проблема только в том, что нашел я этот гайд уже после того как сам разобрался, что к чему, ведь по запросу TileService отдавало все что угодно: скудную документацию, статьи подозрительного качества, но только не гайд 😒

Главное, что нужно знать, что обновлять плитку можно только в промежутке между onStartListening() и onStopListening() и по умолчанию этот промежуток соответствует поведению, когда плитка видна на экране у пользователя, что выглядит довольно логично и похоже на то, как мы подписываемся на стейт в UI, но Google почему-то рекомендует явно запрашивать listening state 🤔. Как по мне, первый способ является более удобным, но разумеется все зависит от конкретного кейса.

⚠️Однако я столкнулся с одной проблемой, само по себе взаимодействие с TileService не переводит ваше приложение в состояние foreground и вы можете столкнуться с различными ограничениями системы. В моем случае помог запуск отдельного foreground сервиса из TileService.

💬А используете ли вы данную функциональность в своих приложениях? Если да, то какие сценарии вы туда выносите?

#Android
@kotlin_adept

BY Kotlin Adept Notes




Share with your friend now:
tgoop.com/kotlin_adept/50

View MORE
Open in Telegram


Telegram News

Date: |

Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading. “[The defendant] could not shift his criminal liability,” Hui said. Ng, who had pleaded not guilty to all charges, had been detained for more than 20 months. His channel was said to have contained around 120 messages and photos that incited others to vandalise pro-government shops and commit criminal damage targeting police stations. Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.” Deputy District Judge Peter Hui sentenced computer technician Ng Man-ho on Thursday, a month after the 27-year-old, who ran a Telegram group called SUCK Channel, was found guilty of seven charges of conspiring to incite others to commit illegal acts during the 2019 extradition bill protests and subsequent months.
from us


Telegram Kotlin Adept Notes
FROM American