Теперь для всех BroadcastReceiver, регистрируемые в runtime, обязательно должны будут указывать экспортируемые или нет. Для этого при регистрации надо будет указать флаг
@android_broadcast #android14
RECEIVER_EXPORTED
или RECEIVER_NOT_EXPORTED
. Подробности тут@android_broadcast #android14
🤔23👎11👍10👌3😁1
В Android 14 обяжут указывать зачем вы используете Foreground Service (подробности тут). Цели использования сервисов строго ограничены списком, а любую другую работы надо выполнять через WorkManager (JobScheduler).
В JobScheduler появляется новая пометка "User Initiated", которая помечает долгую задача, что еще больше ограничивает категории задач для Foreground Service.
Особенности User Initiated Job:
👉 Чтобы их использовать надо будет запросить в AndroidManifest новый permission - RUN_LONG_JOBS
👉 также показать системное уведомление, пока выполняется такая Job
👉 Запущена такая Job может только когда приложение видно пользователю
👉 Такая Job может быть остановлена через системный Task Manager (появился в Android 13).
Пока для такой работы говорится только о передачи данных с/на сервер. Пример как это делается в скриншотах к посту
Все подробности изменения тут
@android_broadcast #android14
В JobScheduler появляется новая пометка "User Initiated", которая помечает долгую задача, что еще больше ограничивает категории задач для Foreground Service.
Особенности User Initiated Job:
👉 Чтобы их использовать надо будет запросить в AndroidManifest новый permission - RUN_LONG_JOBS
👉 также показать системное уведомление, пока выполняется такая Job
👉 Запущена такая Job может только когда приложение видно пользователю
👉 Такая Job может быть остановлена через системный Task Manager (появился в Android 13).
Пока для такой работы говорится только о передачи данных с/на сервер. Пример как это делается в скриншотах к посту
Все подробности изменения тут
@android_broadcast #android14
🤯35🤬18👍15👎8👌1
В Android 14 появились новые типы Foreground Service (теперь всего их 13), а именно:
👉 Health - длительные операции для фитнес приложений
👉 Remote messaging - передача сообщений между устройствами
👉 Short service - выполнение короткой (до 1 минуты) задачи критичной для окончания, которая не может быть прервана или отложена. Имеет ряд ограничений
👉 Special use - тип для случая когда все другие вам не подошли. Такие типы service будут проверять при публикации в Google Play
👉 System exempted - зарезервировано для системных приложений и специальных системных интеграций, чтобы они дальше могли работать с Foreground Service
@android_broadcast #android14
👉 Health - длительные операции для фитнес приложений
👉 Remote messaging - передача сообщений между устройствами
👉 Short service - выполнение короткой (до 1 минуты) задачи критичной для окончания, которая не может быть прервана или отложена. Имеет ряд ограничений
👉 Special use - тип для случая когда все другие вам не подошли. Такие типы service будут проверять при публикации в Google Play
👉 System exempted - зарезервировано для системных приложений и специальных системных интеграций, чтобы они дальше могли работать с Foreground Service
@android_broadcast #android14
👍28👎10😭8🥱2👨💻1
❗ В течение следующих нескольких месяцев Google Play будет делиться информацией о политике, ограничивающей когда и какие типы Foreground Service может использовать ваше приложение, особенно если их тип не соответствуют ожиданиям системы.
Вот теперь выполнять работу в фоне придется только по согласованию системой. Кто-то скажет что мы уже пришли в iOS, но еще нет. Там вообще даже с согласованием нет такой возможности, а новое правило заставит разработчиков не использовать фоновые сервисы как вздумается
@android_broadcast #googlelplay #android14
Вот теперь выполнять работу в фоне придется только по согласованию системой. Кто-то скажет что мы уже пришли в iOS, но еще нет. Там вообще даже с согласованием нет такой возможности, а новое правило заставит разработчиков не использовать фоновые сервисы как вздумается
@android_broadcast #googlelplay #android14
👍20👎14🥱2😁1🤯1
Начиная с Android 14, пользователь сможет увеличить размер шрифта до 200%, ранее максимальный размер был 130% (на устройствах Pixel). Масштабирование текста будет нелинейным. Это приведет к тому что уже большой размер текста не будет увеличен также как маленький. Все это делается в соотвествии с Web Content Accessibility Guidelines (WCAG)
Чтобы корректно расчитывать размер текста из sp в px теперь надо строго использовать TypedValue.applyDimension(), а для обратной конвертации TypedValue.deriveDimension(). Хардкодить расчет перевод больше нельзя!
Подробности тут
@android_broadcast #android14
Чтобы корректно расчитывать размер текста из sp в px теперь надо строго использовать TypedValue.applyDimension(), а для обратной конвертации TypedValue.deriveDimension(). Хардкодить расчет перевод больше нельзя!
Подробности тут
@android_broadcast #android14
👍36👎11🥱3😁2
Загружать код динамически в Android 14 можно будет только из файлов (DEX, JAR, APK), которые помечены как "read-only". В противном случае будет выброшена системная ошибка.
Google настоятельно рекомендует не использовать динамическую загрузку кода, так как это повышает риск кода быть скомпроментированным
@android_broadcast #android14
Google настоятельно рекомендует не использовать динамическую загрузку кода, так как это повышает риск кода быть скомпроментированным
@android_broadcast #android14
👍26👎8😁4🥱4
Не так давно представленный сервис Health Connect для синхронизации данных между различными фитнес приложениями, теперь является частью системы.
Появилась новая константа Context.HEALTHCONNECT_SERVICE, который вернет HealthConnectManager
#android14
Появилась новая константа Context.HEALTHCONNECT_SERVICE, который вернет HealthConnectManager
#android14
👍24👎11🥱2
Решил в одном месте собрать все лучшие практики по тому как сделать Jetpack Compose быстрым и без тормозов. Смотрите все в доке. Предлагайте свои полезные материалы в комментариях здесь или в доке, а потом все это можно будет организовать в виде полноценной статьи.
#compose #performance
#compose #performance
👍89👎10❤5😁5❤🔥3🔥2🥱1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
7 лет назад вышла первая версия Kotlin, а так и не скажешь как это было давно
Делитесь в комментариях своими историями как вы попробовали Kotlin и как давно это было
Делитесь в комментариях своими историями как вы попробовали Kotlin и как давно это было
🎉115❤13👎7🤯7👍2😢2🥱2
Вышел Gradle 8.0
👉 Улучшение поддержки Kotlin DSL: скорость, Kotlin 1.8, JVM 11 Bytecode
👉 buildSrc теперь ведет более похоже на included builds
👉 Configuration cache (все еще incubating) стала параллельной на первом билде и больше поддержки базовых плагинов
👉 Прочие незначительные фичи
Помимо этого удалили все что было deprecated, а часть фичей стали стабильными
#gradle
👉 Улучшение поддержки Kotlin DSL: скорость, Kotlin 1.8, JVM 11 Bytecode
👉 buildSrc теперь ведет более похоже на included builds
👉 Configuration cache (все еще incubating) стала параллельной на первом билде и больше поддержки базовых плагинов
👉 Прочие незначительные фичи
Помимо этого удалили все что было deprecated, а часть фичей стали стабильными
#gradle
👍23👎9🥱2😁1😐1
This media is not supported in your browser
VIEW IN TELEGRAM
В Android 14 в боевой режим вступает новый жест назад "Predictive Back Gesture". Заявлено о нем было еще в Android 13, но сейчас он станет включен по умолчанию.
Нововведение заключает в том, что при навигации назад будет видно на какой экран вы переходите
Если еще не добавляли его поддержку, то смотрите здесь
@android_broadcast #android14
Нововведение заключает в том, что при навигации назад будет видно на какой экран вы переходите
Если еще не добавляли его поддержку, то смотрите здесь
@android_broadcast #android14
👍56👎8🥱7😁5❤🔥2🤔2
Share Android App Links with the Sharesheet (3 мин)
Разбор того как работать со стандартным Sharesheet для шарнига контента между приложениями в Android. Также показывается как можно подкинуть собственное превью контента
#androidos
Разбор того как работать со стандартным Sharesheet для шарнига контента между приложениями в Android. Также показывается как можно подкинуть собственное превью контента
#androidos
👍32👎7
Вышел Lottie Android 6.0.0: пачка новых фичей, улучшений и исправление багов
Я тут как раз ищу эксперта в Lottie, чтобы показать какие крутые вещи и как с ней сделать. Если у тебя есть опыт - пиши мне на почту [email protected]
#animation
Я тут как раз ищу эксперта в Lottie, чтобы показать какие крутые вещи и как с ней сделать. Если у тебя есть опыт - пиши мне на почту [email protected]
#animation
👍43👎8🥱2👀2
📺 Интервью с командой Kotlin Multiplatform Mobile (2 часа)
👉 Что произошло за 2022 год
👉 Чего ждать к KMM 1.0 Stable
👉 Compose iOS
👉 Kotlin IDE
👉 Экосистема Kotlin Multiplatform
#AndroidBroadcast #kotlin #kmm
👉 Что произошло за 2022 год
👉 Чего ждать к KMM 1.0 Stable
👉 Compose iOS
👉 Kotlin IDE
👉 Экосистема Kotlin Multiplatform
#AndroidBroadcast #kotlin #kmm
👍53🔥13👎9😱1