TGTGInsighttelegram intelligenceLIVE / telegram public index
Retour aux chaînes
Android Broadcast avatar

TGINSIGHT CHAT

Android Broadcast

@android_broadcast

Technologies

Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR

Abonnés1.4万Abonnés actuels de la chaîne
Posts indexés1,000Nombre de posts indexés
Portée récente84,730Somme des vues récentes
Posts récents

Posts récents

Tag : #android17 · 20 posts

当前筛选 #android17清除筛选

🤖Вышел Android 17 Beta 4 Что нового: 👉 Ограничения на выделяемую память для приложений (некий новый механизм) 👉 Автоматической обнаружение аномалий в использовании приложениями ресурсов устройства 👉 Пост квантовое шифрование в Android Keystore Подробно читайте в отдельных постах @android_broadcast 🔗 Источник Android Developers Blog #Android#Android17

7,460 views

🛒Google Play обновил сразу несколько политик — и все они завязаны на фичи Android 17. Главное изменение — доступ к контактам. Приложениям, которым не нужен широкий доступ к контактам, теперь обязательно использовать Android Contact Picker. Никакого READ_CONTACTS без реальной необходимости, которую теперь придется доказываться. Тот самый пикер, который появился в Android 17, сразу стал требованием политики — не опцией. Я писал об этом ещё когда Contact Picker появились в превью Android 17. Google никогда не оставляет такие инструменты просто опцией — новые системные механизмы приватности рано или поздно становятся политикой магахина. С геолокацией та же история. Location Button из Android 17 — новый системный UI-элемент для разового доступа к точной позиции — уже прописан в политике как рекомендованный минимум для precise location. Фича ещё в бете, требование уже действует. ‼️ Geofancing убрали из разрешённых сценариев для Foreground Service. Рекомендуется переходить на Geofence API. На всё это у разработчиков 30 дней, начиная с 15 апреля 2026 года. 🔗 Подробности обновления политик Google Play #GooglePlay#AndroidDev#Android17

7,020 views

🤖Улучшение подписи APK в Android 17 Android 17 добавляет поддержку гибридной схемы подписи APK с постквантовым алгоритмом ML-DSA. Классический ключ подписи комбинируется с постквантовым и подпись становится устойчивой к атакам с использованием квантовых вычислений. Схема гибридная, а не замена старому подходу, поэтому обратная совместимость сохраняется. Старые устройства верифицируют подпись через классический ключ, новые получают дополнительный слой защиты через ML-DSA. ‼️ ВАЖНО Старый классический ключ переиспользовать нельзя. Это не обновление существующего ключа, а смена подписи, нужно создавать новую пару. Если используете Google Play App Signing, всё сделает Google Play, просто дождитесь опции в консоли. При самостоятельном управлении ключами понадобится обновлённый apksigner. Квантовые компьютеры, способные реально угрожать текущим подписям,появятся не скоро, да и натравливать его на взлом APK - странный сценарий использования такой машины. Но инфраструктурные вещи лучше внедрять заранее, и хорошо, что Play App Signing снимает эту задачу с большинства из нас. 🔗 Источник: developer.android.com #Android#Android17#Безопасность

5,800 views

🤖В Android 17 нельзя менять `static final` поля через рефлексию или JNI. Звучит логично — static final по определению константа, но на практике это использовалось годами для разных хаков. 👉 Попытка изменить такое поле через рефлексию бросает IllegalAccessException 👉 Попытка через JNI SetStaticLongField() и аналоги — сразу краш приложения 👉 Ограничение включено только для приложений с targetSdk = 37, но в Beta 1 проверка активна для всех приложений, чтобы выловить проблемы раньше Зачем это нужно? Пока static final поле формально могло меняться, рантайм не мог агрессивно оптимизировать код, который к нему обращается. Теперь — может. На практике это чаще всего задевает тесты, которые через рефлексию подменяют константы в production-коде, и старые хаки с логированием или конфигурацией. Где-то жить станет чуть сложнее, но в целом всё закономерно — меньше хаков, честнее код. 🔗 Источник: developer.android.com #android#android17

7,460 views

🤖Android 17 меняет подход к приватности геолокации. Вышла Android 17 Beta 3 и все изменения там касаются геолокациии 👉Location Button — разовый доступ к точной геолокации Новый UI-элемент из Jetpack, который даёт доступ к точным координатам прямо в момент нажатия, без постоянного разрешения. Пользователь нажал кнопку "поделиться местоположением" в вашем приложении — получил данные один раз в рамках сессии. Никаких диалогов с выбором "разрешить всегда / только сейчас". Кнопку можно кастомизировать: цвет, форма, текст из предопределённого списка. Иконка местоположения остаётся обязательной и неизменной. На Android 16 и ниже Jetpack автоматически откатывается к стандартному диалогу разрешений. 👉Примерная геолокация стала умнее До этого "приблизительный" режим использовал фиксированную сетку 2×2 км. В малонаселённых районах это фактически деанонимизирует пользователя, потому что в квадрате 2 км может быть буквально несколько человек. В Android 17 размер ячейки теперь зависит от плотности населения — чем меньше людей, тем больше область. Логично, что давно должно было быть так. 👉Индикатор использования геолокации По аналогии с микрофоном и камерой, при любом обращении к геолокации теперь будет появляться системный индикатор. Плюс — диалог с историей последних обращений с возможностью сразу перейти в настройки разрешений. 👉Переработанный диалог разрешений "Точное" и "Приблизительное" местоположение теперь визуально сильнее разделены, чтобы пользователь осознанно выбирал нужный уровень доступа. 🔗 Источник: android-developers.googleblog.com #Android#AndroidDev#Android17#Приватность

6,150 views

Оказывается Android Automotive всё ещё жива. Новостей про неё мало, но вот иногда доносится. Подробнее в блоге #Android#Android17#Automotive

5,950 views

🤖Android 17 закручивает гайки для фонового аудио В Android 17 появилось новое ограничение, которое затронет авторов музыкальных плееров, подкаст-приложений и всего, что воспроизводит звук в фоне без видимого UI. Суть в следующем: теперь аудио фреймворк проверяет, имеет ли приложение право взаимодействовать с аудио в фоне. Без корректно запущенного foreground service с While-In-Use (WIU) возможностями звук просто отключится. WIU — это условие, при котором Foreground Service запущен из видимого UI или в ответ на MediaSessionEvent. Если FGS запущен, например, по BOOT_COMPLETE и лезет в аудио — он будет заблокирован. Рекомендуемый путь — использовать Jetpack Media3 MediaSessionService, который сам управляет жизненным циклом и не требует дополнительных телодвижений. Если media3 не используется, нужно вручную следить за тем, чтобы mediaPlayback FGS запускался из foreground и оставался живым на время транзиентных сбоев (не дольше 10 минут). На мой взгляд, изменение правильное. Баги, когда приложение просыпается через несколько часов после заморозки и неожиданно начинает воспроизведение — реальная проблема. Другой вопрос, что тихая блокировка без каких-либо ошибок в API сделает диагностику неочевидной. Инструменты вроде `adb dumpsys audio` и logcat помогут, но разработчики, которые не читают changelog, узнают об этом только от пользователей. 🔗 Источник developer.android.com #Android#AndroidDev#Android17

6,360 views

🤖Google рассказала больше про Contact Picker из Android 17 Вышла отдельная статья в блоге со скриншотами — можно наконец посмотреть как пикер выглядит в живую. Из того, что не было в анонсе: на Android 17 старые ACTION_PICK с контактными типами автоматически апгрейдятся до нового пикера. То есть часть приложений получит приватный выбор контактов вообще без изменений кода. Приятный бонус для тех, кто не торопится мигрировать. В Compose интегрируется через rememberLauncherForActivityResult — код в статье рабочий, можно брать напрямую. 🔗 Источник: android-developers.googleblog.com 📖 Документация: developer.android.com #Android#AndroidDev#Android17

6,700 views

🤖В Android 17 запретят прямой доступ к контактам (скорее всего через требование Google Play). На смену приходит Contact Picker В Android 17 появится встроенный пикер контактов, который позволит выбирать один или несколько контактов, задавая поля которые вам нужны. Ранее уже был ACTION_PICK, а теперь будет ACTION_PICK_CONTACTS, который запускает спец лаунчер. Для приложения с targetSdk Android 17 и выше будет происходить автоматическая замена на ACTION_PICK_CONTACTS при вызове ACTION_PICK для контактов. // Указываем какие поля надо получить val requestedFields = arrayListOf( ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE ) // Создаем Intent val pickContactIntent = Intent(Intent.ACTION_PICK_CONTACTS).apply { type = ContactsContract.Contacts.CONTENT_TYPE putStringArrayListExtra(Intent.EXTRA_REQUESTED_DATA_FIELDS, requestedFields) } // Запускаем Intent Laucnher pickContactLauncher.launch(pickContactIntent) Пишут что это можно протестировать на старых версиях Android. При отправки Intent c ACTION_PICK надо будет добавить EXTRA_USE_SYSTEM_CONTACTS_PICKER. Хорошее изменение, давно уже пора было ограничить приложениям доступ ко всем контактам, только вот гранулярный доступ как это было сделано с фото эффективнее, чем пикер. Если со стороны Google Play не будет ограничений для приложений, чтобы использовать разрешение `READ_CONTACTS`, то какой смысл в этой новинках. Я попытался запустить новый пикер на сборке эмулятора Android 17 Beta 2, но пока там ничего не работает. Наверное поэтому и нету ни одной демонстрации его работы в официальной документации. 🔗Документация по Contact Picker #Android#AndrooidDev#Android17#Безопасность

8,100 views

📹 В Android перестали появляться новые фичи. Разбирай каждый год новую версию ОС от Google я вообще не вижу там ничего существенно. Всё происходит для улучшения самой ОС: архитектуры, механизмов, ART, работы с памятью, а часть этих фичей доставляют и на предыдущие версии ОС. Что это? Стагнация? Постепенное закрытие Android или подготовка к будущей трансформации ОС? Делюсь мыслями в новом видео https://youtu.be/WIhFnKRMIfY?si=QVsYvdJLVpmCFS8u #AndroidBroadcast#Android#Android17

8,520 views

// Пример запуска EyeDropper val eyeDropperLauncher = registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { result -> if (result.resultCode == Activity.RESULT_OK) { val color = result.data?.getIntExtra(Intent.EXTRA_COLOR) // Обрабатываем полученный результат } } fun launchColorPicker() { val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER) eyeDropperLauncher.launch(intent) } #Android#Android17

7,790 views

🤖 EyeDropper API - встроенный пикер цвета в пикселе на Android 17. Вот я не понял кому этого так не хватало? #Android#Android17

7,420 views
12
PrécédentPage 1 sur 2Suivant