В Android 14 разработчик сможет определить когда пользователь пытается сделать скриншот приложения. Для Activity можно зарегистрировать callback, который будет срабатывать при попытке сделать скриншот.
Для этого надо будет объявить разрешение DETECT_SCREEN_CAPTURE (не требует запроса во время работы приложения). Новый callback - Activity.ScreenCaptureCallback
Как я смог понять callback будет вызываться после совершения и никак повлиять на контент в скриншоте нельзя, как и предотвратить чтобы пользователь сделал его
Подробности тут
@android_broadcast #android14
Для этого надо будет объявить разрешение DETECT_SCREEN_CAPTURE (не требует запроса во время работы приложения). Новый callback - Activity.ScreenCaptureCallback
Как я смог понять callback будет вызываться после совершения и никак повлиять на контент в скриншоте нельзя, как и предотвратить чтобы пользователь сделал его
Подробности тут
@android_broadcast #android14
👍37👎9🤔4
В Android 14 поменяется поведение неудаляемых уведомлений из системной панели. По умолчанию теперь часть ongoing уведомлений можно будет удалять.
Ограничения не распространяются на:
👉 Когда телефон заблокирован удалить уведомление не получится
👉 Кнопка "Удалить все" в уведомлениях не будет удалять ongoing уведомления
👉 MediaStyle уведомления не удаляются
👉 Уведомления, которые не могут быть удалены по политикам безопасности
👉 Уведомления, связанные с частями работы Android Enterprise
В Android 13 уже стало возможным удалять уведомления, связанные с Foreground Service, если у уведомления не было помечен статус ongoing
Подробности изменения тут
@android_broadcast #android14
Ограничения не распространяются на:
👉 Когда телефон заблокирован удалить уведомление не получится
👉 Кнопка "Удалить все" в уведомлениях не будет удалять ongoing уведомления
👉 MediaStyle уведомления не удаляются
👉 Уведомления, которые не могут быть удалены по политикам безопасности
👉 Уведомления, связанные с частями работы Android Enterprise
В Android 13 уже стало возможным удалять уведомления, связанные с Foreground Service, если у уведомления не было помечен статус ongoing
Подробности изменения тут
@android_broadcast #android14
👎9👍5🤔3
Android 14 Dev Preview 2 содержит оптимизации системы управления памятью Android для улучшения использования ресурсов, когда приложения работают в фоновом режиме.
Через несколько секунд после того, как приложение переходит в состояние "cached", фоновая работа будет разрешена только в Foreground Services, JobScheduler или WorkManager. Фоновая работа вне этих API теперь будет запрещаться на порядок быстрее, чем в Android 13.
@android_broadcast #android14
Через несколько секунд после того, как приложение переходит в состояние "cached", фоновая работа будет разрешена только в Foreground Services, JobScheduler или WorkManager. Фоновая работа вне этих API теперь будет запрещаться на порядок быстрее, чем в Android 13.
@android_broadcast #android14
😢18👎10👍6
Если вы хотите проверить поведение вашего приложения независимо от targetSdk, включить или отключить какие-то изменения поведения и другие
Подробности тут
@android_broadcast #android14
Подробности тут
@android_broadcast #android14
👍14👎6
Из Android SDK были удалены API, связанные с Android Beam - технология для быстрой передачи файлов, которая для установления соединения работала на основе NFC, а передача шла через Bluetooth
@android_broadcast #android14
@android_broadcast #android14
🤔22😢17👎6👍2
В Android SDK появились интересные аннотации для вызова native методов для ускорения работы JNI в ART runtime:
🚀 @CriticalNative - использовать самую быструю JNI передачу из управляемого кода в нативный и обратно
👉 @FastNative - использовать более быструю (по сравнению с обычной) JNI передачу из управляемого кода в нативный и обратно
@android_broadcast #android14
🚀 @CriticalNative - использовать самую быструю JNI передачу из управляемого кода в нативный и обратно
👉 @FastNative - использовать более быструю (по сравнению с обычной) JNI передачу из управляемого кода в нативный и обратно
@android_broadcast #android14
👍12👎6
Automating dependency updates in a Compose project (4 мин)
Статья с рассказом подхода автоматического обновления зависимостей в Google с помощью сервиса Renovate на примере Compose и его зависимостей от Kotlin компилятора. Утилита сама генерирует Pull Request на основе описанных правил.
#tooling
Статья с рассказом подхода автоматического обновления зависимостей в Google с помощью сервиса Renovate на примере Compose и его зависимостей от Kotlin компилятора. Утилита сама генерирует Pull Request на основе описанных правил.
#tooling
👍16👎9
В системном окне выбора Activity при запуске Intent теперь будет возможность добавить собственные действия. Для этого нужно положить extra EXTRA_CHOOSER_CUSTOM_ACTIONS в Intent. Помиго это есть специальная экстра для действия чтобы модифицировать отправляемый контент - EXTRA_CHOOSER_MODIFY_SHARE_ACTION
#android14
#android14
👍23👎5🤔3❤1
Кто производитель вашего основно смартфона? (опрос для тех кто имеет отношение к разработке)
Anonymous Poll
25%
Google
15%
Apple
21%
Samsung
20%
Xiaomi/Redmi/POCO
6%
OnePlus
4%
Realme
1%
ASUS/ROG
4%
HUAWEI
3%
Другой бренд (пишите в комментариях)
1%
Не участвую/не пользуюсь смартфоном (пишите почему)
👍30👎6
Начиная с Android 14, с помощью killBackgroundProcesses() нельзя будет убить процесс другого приложения. При попытке передать туда название пакета отличного от приложения из которого происходит вызов больше ничего происходить не будет, а в логах появится сообщение:
Invalid packageName: <package_name>
Новое поведение применяется ко всем приложениям, независимо от targetSdk. Подробности тут
@android_broadcast #android14
Invalid packageName: <package_name>
Новое поведение применяется ко всем приложениям, независимо от targetSdk. Подробности тут
@android_broadcast #android14
👍35👎8
🔥64👎7
📺 Новости мобильной разработки 2023.7 (19 мин)
Первый рабочий день - самое лучшее время освежить, что произошло в Android разработке за прошедшую неделю
🔥 Android 14 Dev Preview 2
👉 Новый стабильный Jetpack Lifecycle
🚀 Насколько Yatagan быстрее Dagger 2
#AndroidBroadcast
Первый рабочий день - самое лучшее время освежить, что произошло в Android разработке за прошедшую неделю
🔥 Android 14 Dev Preview 2
👉 Новый стабильный Jetpack Lifecycle
🚀 Насколько Yatagan быстрее Dagger 2
#AndroidBroadcast
👍27👎12🔥5
В Jetpack Annotation появилась новая аннотация - @Discouraged. Она схожа с @Deprecated, но предназначается если вы не хотите что-то помечать устаревшим, но хотите "не рекомендуется к использованию"
#jetpack
#jetpack
👍60🤔18👎6❤3🔥2
Стартует Неделя Приватности для Android разработчиков. Что будет:
👉 Обновленная страница "Privacy & Security" на официальном сайте разработчиков
👉 Новая Codelab по приватности
👉 Cheatsheet по основным принципам приватности
👉 Рекомендуется посмотреть это и это видео
Все новости я вам буду вещать в @android_broadcast
#security
👉 Обновленная страница "Privacy & Security" на официальном сайте разработчиков
👉 Новая Codelab по приватности
👉 Cheatsheet по основным принципам приватности
👉 Рекомендуется посмотреть это и это видео
Все новости я вам буду вещать в @android_broadcast
#security
👍16👎10🤔1
Cheatsheet по основным принципам приватности от Google. Версия в pdf тут или в комментарии к этому посту
🔥20👎9👍5
Руководство по использованию Jetpack WorkManager в многомодульном приложении с помощью делегирования создания Worker и Dagger Hilt
#jetpack
#jetpack
👎25👍14
Вышел scrcpy 2.0
👉 Добавлена переадресовка и запись аудио на компьютер (нужен Android 11+)
👉 Поддержка кодеков H265 и AV1
👉 Возможно выбрать кодеки аудио и видео
🛠️ Исправление багов
Изменения на GitHub
#tooling
👉 Добавлена переадресовка и запись аудио на компьютер (нужен Android 11+)
👉 Поддержка кодеков H265 и AV1
👉 Возможно выбрать кодеки аудио и видео
🛠️ Исправление багов
Изменения на GitHub
#tooling
🔥57👎6
Пошаговое руководство по созданию бэкенда для мобильного приложения на основе Firebase сервисов
#firebase
#firebase
👍43👎17❤3🤯2
Разбор ситуации (6 мин), когда вам нужно использовать derivedStateOf, чтобы UI вашего приложения на Compose корректно обновлялся
#compose
#compose
👍20👎14😢1