1page.title=Android N для разработчиков 2meta.tags="предварительная версия", "androidn" 3page.tags="preview", "developer preview" 4page.image=images/cards/card-n-apis_2x.png 5@jd:body 6 7 8 9 10<div id="tb-wrapper"> 11<div id="tb"> 12 <h2>Основные возможности для разработчиков</h2> 13 <ol> 14 <ul style="list-style-type:none;"> 15 <li><a href="#multi-window_support">Поддержка многооконного режима</a></li> 16 <li><a href="#notification_enhancements">Уведомления</a></li> 17 <li><a href="#jit_aot">Динамическая/предварительная компиляция</a></li> 18 <li><a href="#quick_path_to_app_install">Быстрый способ установки приложения</a></li> 19 <li><a href="#doze_on_the_go">Сон на ходу: режим Doze</a></li> 20 <li><a href="#background_optimizations">Оптимизация фоновых процессов</a></li> 21 <li><a href="#data_saver">Экономия трафика</a></li> 22 <li><a href="#tile_api">API панели быстрых настроек</a></li> 23 <li><a href="#number-blocking">Блокировка номеров</a></li> 24 <li><a href="#call_screening">Фильтрация вызовов</a></li> 25 <li><a href="#multi-locale_languages">Языки и языковые настройки</a></li> 26 <li><a href="#icu4">API-интерфейсы ICU4J в Android</a></li> 27 <li><a href="#gles_32">API OpenGL ES 3.2</a></li> 28 <li><a href="#android_tv_recording">Запись Android TV</a></li> 29 <li><a href="#android_for_work">Android for Work</a></li> 30 <li><a href="#accessibility_enhancements">Специальные возможности</a></li> 31 <li><a href="#direct_boot">Режим Direct Boot</a></li> 32 <li><a href="#key_attestation">Аттестация ключей</a></li> 33 <li><a href="#network_security_config">Конфигурация сетевой безопасности</a></li> 34 <li><a href="#default_trusted_ca">Доверенный центр сертификации по умолчанию</a></li> 35 <li><a href="apk_signature_v2">Схема получения подписи APK, версия 2</a></li> 36 <li><a href="#scoped_directory_access">Доступ к выделенным каталогам</a></li> 37 </ol> 38</div> 39</div> 40 41 42 43<p>Система Android N еще находится в активной стадии разработки, но ее уже можно опробовать в виде предварительной версии 44N Developer Preview. В следующих разделах рассматриваются некоторые из 45 ее новых возможностей для разработчиков. </p> 46 47<p> 48 Обязательно изучите раздел <a href="{@docRoot}preview/behavior-changes.html">Изменения в работе</a>, в котором описаны 49изменения платформы, способные повлиять на работу приложений, ознакомьтесь более подробно с основными возможностями 50в руководствах для разработчиков и загрузите <a href="{@docRoot}preview/setup-sdk.html#docs-dl">справочник по API</a> с подробным описанием новых 51API-интерфейсов. 52</p> 53 54<h2 id="multi-window_support">Поддержка многооконного режима</h2> 55 56 57<p>В Android N представлена новая долгожданная функция многозадачности 58– многооконный режим. </p> 59 60 <p>Теперь пользователи смогут открывать на экране два приложения одновременно. </p> 61 <ul> 62 <li>На телефонах и планшетах под управлением 63Android N пользователи могут запустить два приложения рядом или друг над другом 64в режиме разделенного экрана. Размеры окон приложений можно изменить с помощью 65разделителя между ними. </li> 66 67<li>На устройствах Android TV для приложений будет доступен <a href="{@docRoot}preview/features/picture-in-picture.html">режим 68"картинка в картинке"</a>, который позволит приложению отображать контент, пока пользователь просматривает другие приложения или 69взаимодействует с ними. Более подробная информация приведена ниже. </li> 70 </ul> 71 72<div class="col-4of10"> 73<img src="{@docRoot}images/android-7.0/mw-portrait.png" alt="" style="height:460px;padding-left:1em;" id="img-split-screen" /> 74<p class="img-caption"> 75 <strong>Рис. 1.</strong> Приложения в режиме разделенного экрана. 76</p> 77 </div> 78 79<p>Поддержка многооконного режима открывает новые возможности привлечения пользователей, 80особенно на планшетах и других устройствах с большим размером экрана. Вы можете даже включить в своем приложении функцию перетаскивания 81для удобного перемещения контента между приложениями – отличный 82способ улучшить пользовательский интерфейс. </p> 83 84<p>Вы можете легко добавить поддержку многооконного режима в свое приложение и настроить его 85работу с окнами экрана. Например, вы можете определить минимальные допустимые размеры, 86до которых пользователи могут уменьшить окно приложения. 87Вы можете также отключить многооконный режим для своего приложения, чтобы 88система отображала его только в полноэкранном режиме.</p> 89 90<p> 91 Дополнительная информация содержится в документе для разработчиков <a href="{@docRoot}preview/features/multi-window.html">Поддержка многооконного режима</a>. 92 93</p> 94 95<h2 id="notification_enhancements">Новые возможности уведомлений</h2> 96 97<p>В Android N изменен дизайн уведомлений, которые стали проще и удобнее. 98Ниже приведены некоторые изменения.</p> 99 100<ul> 101 <li> 102 <strong>Обновления шаблонов</strong>. В новых шаблонах уведомлений 103сделан акцент на изображении и аватаре контакта. Разработчики смогут 104использовать новые шаблоны с минимальными изменениями своего кода. 105 </li> 106 107 <li> 108 <strong>Группы уведомлений</strong>. Система может группировать уведомления, 109например по теме сообщений, и отображать группу. Пользователь может применять к группам 110действия, например, закрывать их или архивировать. Если вы ранее выполняли реализацию 111уведомлений для Android Wear, то вам уже должна быть знакома эта 112модель. 113 </li> 114 115 <li> 116 <strong>Непосредственный ответ в уведомлении</strong>. 117Android теперь поддерживает функцию внутренних ответов в приложениях для общения в режиме реального времени. Это позволяет быстро ответить на 118СМС или текстовое сообщение непосредственно в интерфейсе уведомления. 119 </li> 120 121 <li> 122 <strong>Собственные представления</strong>. Два новых API-интерфейса позволяют применять системные элементы, 123такие как заголовки и действия уведомлений, при использовании собственных представлений в 124уведомлениях. 125 </li> 126</ul> 127 128<div class="col-4of12"> 129 <img src="{@docRoot}images/android-7.0/notifications-1.png" alt="" style="padding:.5em;max-width:226px"> 130</div> 131 132<div class="col-4of12"> 133 <img src="{@docRoot}images/android-7.0/notifications-3.png" alt="" style="padding:.5em;max-width:226px"> 134</div> 135 136<div class="col-4of12"> 137 <img src="{@docRoot}images/android-7.0/notifications-2.png" alt="" style="padding:.5em;max-width:226px"> 138</div> 139 140 141<p class="img-caption"> 142 <strong>Рис. 2.</strong> Группы уведомлений и непосредственный ответ. 143</p> 144 145<p>Способы реализации новых возможностей описаны в руководстве 146<a href="{@docRoot}preview/features/notification-updates.html">Уведомления</a>. 147</p> 148 149 150 151<h2 id="jit_aot">Профильная динамическая/предварительная компиляция</h2> 152 153<p>В Android N добавлен динамический (JIT) компилятор с профилированием кода для среды 154ART, который позволяет постоянно улучшать производительность приложений Android во время их работы. 155JIT-компилятор дополняет текущий предварительный (AOT) компилятор ART 156и помогает повысить производительность, сократить потребление памяти, а также ускорить обновления приложений и системы. 157</p> 158 159<p>Профильная компиляция позволяет ART управлять AOT/JIT-компиляцией каждого приложения 160в соответствии с его фактическим использованием и характеристиками устройства. Например, 161ART ведет профиль часто используемых методов каждого приложения, которые она может предварительно скомпилировать 162и кэшировать для оптимальной производительности. Компиляция остальных частей приложения откладывается до того момента, 163когда они действительно понадобятся.</p> 164 165<p>Кроме повышения производительности основных частей приложения профильная 166компиляция помогает сократить общее использование оперативной памяти приложением, в том числе связанными двоичными файлами. 167Эта возможность особенно важна для устройств с небольшим объемом памяти.</p> 168 169<p>ART управляет профильной компиляцией с минимальным потреблением заряда 170аккумулятора. Предварительная компиляция выполняется только тогда, когда устройство неактивно 171и находится на зарядке, поэтому заблаговременное выполнение этой работы экономит время и энергию.</p> 172 173<h2 id="quick_path_to_app_install">Быстрый способ установки приложения</h2> 174 175<p>Одним из наиболее ощутимых преимуществ JIT-компилятора ART является скорость установки приложений 176и обновлений системы. Даже большие приложения, требовавшие нескольких минут для своей оптимизации и установки на 177Android 6.0 , теперь могут быть установлены за секунды. 178 Обновления системы также выполняются быстрее, поскольку стадия оптимизации теперь отсутствует. </p> 179 180<h2 id="doze_on_the_go">Сон на ходу: режим Doze</h2> 181 182<p>В Android 6.0 был введен системный режим Doze для экономии заряда аккумулятора. В этом режиме 183выполнение процессорных и сетевых операций приложений откладывается, когда устройство не используется и неподвижно – например, лежит на столе или в ящике. 184 </p> 185 186<p>В Android N режим Doze сделал шаг вперед и экономит заряд аккумулятора на ходу. 187Каждый раз, когда экран выключается на определенный промежуток времени и устройство не заряжается, 188Doze применяет частичный набор знакомых ограничений процессорной и сетевой активности приложений. 189Это означает, что пользователи могут экономить заряд аккумулятора, даже когда их устройство лежит в кармане. 190</p> 191 192 193<img src="/preview/images/doze-diagram-1.png" alt="" id="figure1" /> 194<p class="img-caption"> 195 <strong>Рис. 3.</strong> Режим Doze теперь применяет 196энергосберегающие ограничения, даже когда устройство находится в движении. 197</p> 198 199 200<p>Вскоре после блокировки экрана, когда устройство питается от аккумулятора, режим Doze 201ограничивает сетевой доступ и откладывает выполнение заданий и синхронизации. В течение коротких периодов пробуждения 202для приложений открывается доступ к сети и разрешается выполнение отложенных 203заданий и операций синхронизации. Включение экрана или подключение к источнику питания выводит 204устройство из режима Doze.</p> 205 206<p>Если устройство снова остается неподвижным в течение определенного периода времени (с погашенным экраном и питанием от аккумулятора), 207Doze применяет полный набор процессорных и сетевых ограничений к {@link 208android.os.PowerManager.WakeLock}, {@link android.app.AlarmManager} оповещениям и сканированию 209GPS/Wi-Fi.</p> 210 211<p>Рекомендации по адаптации приложения для режима Doze не зависят от того, двигается устройство или нет, 212поэтому если вы уже обновили свое приложение для оптимальной работы 213в режиме Doze, то все уже готово. Если нет, начните <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">адаптацию 214приложения для режима Doze</a> прямо сейчас.</p> 215 216<h2 id="background_optimizations">Проект Svelte: оптимизация фоновых процессов</h2> 217 218<p>Продолжено развитие проекта Svelte, нацеленного на сокращение использования оперативной памяти системой и приложениями 219в различных устройствах экосистемы Android. В Android N проект 220Svelte уделяет особое внимание оптимизации работы приложений в фоновом режиме. </p> 221 222<p>Работа в фоновом режиме является важной частью большинства приложений. Организация ее надлежащим образом 223может сделать интерфейс пользователя быстрым, отзывчивым и контекстно-зависимым. 224В противном случае фоновая обработка может напрасно потреблять оперативную память (и 225заряд аккумулятора) и негативно влиять на производительность других приложений. </p> 226 227<p>Начиная с Android 5.0, предпочтительным и оптимальным для пользователей способом выполнения фоновых операций стало использование планировщика {@link android.app.job.JobScheduler}. 228Приложения могут планировать свои задания, позволяя системе оптимизировать их на основе состояния памяти, 229питания и сетевого соединения. Планировщик JobScheduler прост в использовании и обеспечивает необходимый контроль, 230поэтому он рекомендуется для применения во всех приложениях. 231 </p> 232 233<p> 234 Другим хорошим вариантом является планировщик <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager"> 235<code>GCMNetworkManager</code></a> в составе служб Google Play, который 236предлагает аналогичные возможности планирования заданий и совместимость с прежними версиями 237Android. 238</p> 239 240<p>Мы продолжаем расширять область применения планировщиков <code>JobScheduler</code> и 241<code>GCMNetworkManager</code>. 242Например, в Android N теперь можно планировать фоновую обработку на основании 243изменений поставщиков контента. В то же время мы начинаем исключать некоторые 244устаревшие шаблоны, которые могут ухудшить производительность системы, 245особенно на устройствах с малым объемом памяти.</p> 246 247<p>В Android N удалены три часто используемые неявные рассылки — 248 {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link 249android.hardware.Camera#ACTION_NEW_PICTURE} и {@link 250android.hardware.Camera#ACTION_NEW_VIDEO}, — поскольку они могут пробудить 251фоновые процессы сразу нескольких приложений, повысив потребление памяти и заряда аккумулятора. Если 252ваше приложение получает эти рассылки, используйте преимущество N Developer Preview для миграции на 253<code>JobScheduler</code> и связанные с ним API-интерфейсы. </p> 254 255<p> 256 Дополнительная информация содержится в документе <a href="{@docRoot}preview/features/background-optimization.html">Оптимизация 257фоновых процессов</a>. 258</p> 259 260 261<h2 id="data_saver">Экономия трафика</h2> 262 263<div class="col-5of12" style="margin-right:1.5em;"> 264<img src="{@docRoot}images/android-7.0/datasaver.png" style="border:2px solid #ddd"> 265 266<p class="img-caption" style="padding-right:2em;"> 267 <strong>Рис. 4.</strong> Настройка экономии трафика. 268</p> 269 </div> 270 271<p>В течение срока эксплуатации мобильного устройства стоимость сотового трафика обычно 272превышает стоимость самого устройства. Для многих пользователей сотовый трафик является 273весьма дорогим ресурсом, который они хотели бы сэкономить. </p> 274 275<p>В Android N появился режим экономии трафика – новая системная служба, которая помогает сократить 276использование сотового трафика приложениями в роуминге, в конце периода тарификации 277или для небольших предоплаченных пакетов трафика. Режим экономии трафика дает пользователям возможность контроля использования сотового трафика приложениями 278и позволяет разработчикам повысить эффективность работы служб. 279 </p> 280 281<p>Когда пользователь включает экономию трафика в панели <strong>Settings</strong> и устройство подключено к тарифицируемой сети, 282 система блокирует использование фонового трафика и сигнализирует приложениям 283о необходимости сократить по возможности использование трафика в активном режиме, например: ограничить скорость передачи данных 284потокового вещания, уменьшить качество изображений, отложить оптимистичное предварительное кэширование 285и т.д. Пользователи могут поместить определенные приложения в белый список, разрешив им тарифицируемую фоновую передачу данных 286даже при включенном режиме экономии трафика.</p> 287 288<p>Android N расширяет применение класса {@link android.net.ConnectivityManager}, позволяя приложениям 289<a href="{@docRoot}preview/features/data-saver.html#status">выяснять пользовательские настройки 290экономии трафика</a> и <a href="{@docRoot}preview/features/data-saver.html#monitor-changes">отслеживать 291изменения этих настроек</a>. Все приложения должны проверять, был ли включен режим экономии трафика, 292и пытаться ограничить использование трафика в фоновом и активном режимах.</p> 293 294 295<h2 id="tile_api">API панели быстрых настроек</h2> 296 297 298<div style="float:right;max-width:320px"> 299<img src="{@docRoot}images/android-7.0/quicksettings.png" style="padding-left:1.5em;"> 300 301<p class="img-caption" style="padding-left:2em;"> 302 <strong>Рис. 5.</strong> Плитки быстрых настроек в панели уведомлений. 303</p> 304 305 306 </div><p>Быстрые настройки являются простым и популярным способом доступа к основным настройкам и действиям 307непосредственно из панели уведомлений. В Android N возможности быстрых настроек 308были расширены – они стали еще более полезными и удобными. </p> 309 310<p>Добавлено пространство для дополнительных плиток быстрых настроек, к которым можно 311обратиться с разбитой на страницы области экрана, проведя пальцем влево или вправо. Пользователи 312также могут контролировать состав и место отображения этих элементов – их можно добавлять или двигать обычным перетаскиванием. 313 </p> 314 315<p>Для разработчиков Android N также предлагает новый API, который позволяет определить собственные плитки 316быстрых настроек для удобного доступа пользователей к основным элементам управления и действиям вашего приложения.</p> 317 318<p> 319 Плитки быстрых настроек резервируются для элементов управления или действий, которые либо требуются срочно, 320 либо часто используются. Их не следует использовать в качестве ярлыков 321для запуска приложений. 322</p> 323 324<p> 325 После определения плитки можно показать пользователям, которые смогут добавить их на 326панель быстрых настроек обычным перетаскиванием. 327</p> 328 329<p> 330 Дополнительную информацию о создании плиток приложений можно найти в описании 331<code>android.service.quicksettings.Tile</code> в загружаемом <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Справочнике по API</a>. 332</p> 333 334 335 336<h2 id="number-blocking">Блокировка номеров</h2> 337 338<p>Платформа Android N теперь поддерживает блокировку номеров и предоставляет 339API-интерфейс платформы, который позволяет поставщикам услуг вести список блокируемых номеров. Этот список доступен для чтения и записи стандартным приложениям 340для СМС, звонков и приложениям поставщика. 341Для других приложений это список недоступен.</p> 342 343<p>Сделав блокировку номеров стандартной функцией платформы, Android предоставляет приложениям 344единообразный способ поддержки блокировки номеров на разных устройствах. 345Приложения также получают следующие преимущества:</p> 346 347<ul> 348 <li> Номера, блокируемые при вызовах, также блокируются в текстовых сообщениях. 349 <li> Заблокированные номера могут быть сохранены при переустановках и переносах на другие устройства с помощью функции резервного копирования и восстановления. 350 351 <li> Разные приложения могут использовать один и тот же список блокируемых номеров. 352</ul> 353 354<p>Кроме того, возможность интеграции приложения оператора мобильной сети в Android означает, что операторы могут 355читать список блокируемых номеров на устройстве и выполнять блокировку для пользователя на своей стороне, 356предотвращая доставку пользователю нежелательных вызовов и текстовых сообщений через какого-либо посредника, 357например, через конечную точку VOIP или переадресацию звонков.</p> 358 359<p> 360 Дополнительную информацию можно найти в описании <code>android.provider.BlockedNumberContract</code> 361в загружаемом <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Справочнике по API</a>. 362 363</p> 364 365<h2 id="call_screening">Фильтрация вызовов</h2> 366 367<p> 368 Android N дает возможность стандартному приложению для звонков фильтровать входящие вызовы. Для этого 369в приложении для звонков реализована новая служба <code>CallScreeningService</code>, 370которая позволяет приложению выполнять ряд действий на основании 371{@link android.telecom.Call.Details Call.Details} входящего вызова, например: 372</p> 373 374<ul> 375 <li> отклонить входящий вызов; 376 <li> не регистрировать вызов в журнале вызовов; 377 <li> не показывать пользователю уведомление о вызове. 378</ul> 379 380<p> 381 Дополнительную информацию можно найти в описании <code>android.telecom.CallScreeningService</code> 382в загружаемом <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Справочнике по API</a>. 383 384</p> 385 386 387<h2 id="multi-locale_languages">Поддержка нескольких языковых настроек, дополнительные языки</h2> 388 389 390<p>Android N теперь позволяет пользователям выбрать <strong>несколько языковых настроек</strong> 391для улучшенной поддержки случаев двуязычного применения. Приложения могут использовать 392новый API для получения выбранных пользователем языковых настроек и затем предоставлять более сложные 393интерфейсы для многоязычных пользователей, например: показывать результаты поиска 394на нескольких языках; не предлагать перевод веб-страниц с того языка, который уже знаком пользователю. 395</p> 396 397<p>Вместе с поддержкой нескольких языковых настроек Android N также расширяет список доступных языков. 398Для каждого распространенного 399языка, такого как английский, испанский, французский и арабский, предлагается более 25 вариантов. Также добавлена частичная 400поддержка более 100 новых языков.</p> 401 402<p>Приложения могут получить список языковых настроек, установленных пользователем, вызвав метод <code>LocaleList.GetDefault()</code>. Для поддержки расширенного количества языковых настроек в Android N изменен способ 403разрешения ресурсов. Вам следует обязательно проверить и убедиться в том, 404что ваши приложения работают надлежащим образом с новой логикой разрешения ресурсов.</p> 405 406<p>Дополнительная информация о новом способе разрешения ресурсов и соответствующие рекомендации содержатся 407в документе <a href="{@docRoot}preview/features/multilingual-support.html">Поддержка нескольких языков</a>.</p> 408 409<h2 id="icu4">API-интерфейсы ICU4J в Android</h2> 410 411<p> 412 Платформа Android N теперь предлагает частичный набор API-интерфейсов <a href="http://site.icu-project.org/">ICU4J</a> в 413пакете <code>android.icu</code>. Миграция выполняется легко и в основном заключается 414в простом изменении пространства имен с <code>com.java.icu</code> на 415<code>android.icu</code>. Если вы уже используете пакет ICU4J в своих приложениях, 416переход на API-интерфейсы <code>android.icu</code>, предоставленные платформой Android, 417может существенно сократить размер пакетов APK. 418</p> 419 420<p> 421 Дополнительные сведения по Android ICU4J API содержатся в документе <a href="{@docRoot}preview/features/icu4j-framework.html">Поддержка ICU4J</a>. 422</p> 423 424 425 426<h2 id="gles_32">API OpenGL™ ES 3.2</h2> 427 428<p>В платформу Android N добавлены интерфейсы и поддержка OpenGL ES 3.2, включая следующие возможности.</p> 429 430<ul> 431 <li> Все расширения из <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">Android Extension Pack</a></a> (AEP) кроме <code>EXT_texture_sRGB_decode</code>. 432 <li> Кадровые буферы с плавающей запятой для HDR и отложенного затенения. 433 <li> Вызовы отрисовки BaseVertex для улучшения пакетной обработки и потоковой передачи данных. 434 <li> Эффективный контроль обращений к буферу для сокращения служебных операций WebGL. 435</ul> 436 437<p>API-интерфейс платформы для OpenGL ES 3.2 в Android N предоставляется классом 438<code>GLES32</code>. При использовании OpenGL ES 3.2 обязательно следует объявить требование 439в файле манифеста с помощью тега <code><uses-feature></code> и атрибута 440<code>android:glEsVersion</code>. </p> 441 442<p>Для получения дополнительных сведений об использовании OpenGL ES, включая 443определение версии, поддерживаемой устройством, см. <a href="{@docRoot}guide/topics/graphics/opengl.html">Руководство по API OpenGL ES</a>.</p> 444 445 446<h2 id="android_tv_recording">Запись Android TV</h2> 447 448<p>В Android N добавлена возможность записи и воспроизведения контента из служб Android TV 449через новые API-интерфейсы записи. Службы телевидения на основе существующих API 450с временным сдвигом могут контролировать выбор данных телеканала для записи, сохранение 451сеансов записи и управлять взаимодействием пользователя с записанным контентом. </p> 452 453<p>Дополнительная информация содержится в документе <a href="{@docRoot}preview/features/tv-recording-api.html">API-интерфейсы записи Android TV</a>.</p> 454 455 456<h2 id="android_for_work">Android for Work</h2> 457 458<p>В Android for Work добавлены много новых возможностей и API-интерфейсов для устройств под управлением Android N. 459Некоторые из них приведены ниже. Полный список обновлений Android for Work, касающихся 460Android N, содержится в списке изменений Android for Work.</p> 461 462<h3 id="work_profile_security_challenge">Пароль безопасности для рабочего профиля </h3> 463 464<p> 465 Владельцы профиля могут установить отдельный пароль безопасности для приложений, запускаемых в рабочем профиле. 466Когда пользователь пытается открыть любые рабочие 467приложения, выводится запрос пароля. Успешный ввод пароля снимает блокировку рабочего профиля 468и, при необходимости, дешифрует его. Владельцы профиля 469могут отправить пользователю запрос <code>ACTION_SET_NEW_PASSWORD</code>, предлагающий установить рабочий пароль, 470 или запрос <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code>, предлагающий установить пароль блокировки устройства. 471 472</p> 473 474<p> 475 Владельцы профиля могут устанавливать различные политики паролей для рабочей проверки безопасности 476(например, длину PIN-кода, возможность использования отпечатка пальца 477для разблокировки профиля) с помощью <code>setPasswordQuality()</code>, 478<code>setPasswordMinimumLength()</code> и других связанных методов. Владелец 479профиля может также установить блокировку устройства с помощью экземпляра <code>DevicePolicyManager</code>, 480возвращаемого новым методом <code>getParentProfileInstance()</code>. 481Кроме того, владельцы профиля могут настроить экран учетных данных для рабочей проверки безопасности 482с помощью новых методов <code>setOrganizationColor()</code> и 483<code>setOrganizationName()</code>. 484</p> 485<h3 id="turn_off_work">Выключение рабочего режима </h3> 486 487<p>Пользователи устройства с рабочим профилем могут переключать рабочий режим. Когда рабочий режим 488выключен, управляемый им пользователь временно выходит из системы, что отключает приложения рабочего профиля, 489фоновую синхронизацию и уведомления. Также отключается приложение владельца профиля. 490При выключенном рабочем режиме система отображает постоянный значок состояния, 491напоминая пользователю о том, что он не может запустить рабочие приложения. Средство запуска при этом указывает, 492что рабочие приложения и виджеты недоступны. </p> 493 494<h3 id="always_on_vpn">Постоянное подключение к VPN </h3> 495 496<p>Владельцы устройства и профиля могут обеспечить постоянное подключение рабочих приложений через указанную сеть 497VPN. Система автоматически подключается к этой VPN после загрузки устройства. 498</p> 499 500<p> 501 Для этого в интерфейсе <code>DevicePolicyManager</code> используются новые методы 502<code>setAlwaysOnVpnPackage()</code> и 503<code>getAlwaysOnVpnPackage()</code>. 504</p> 505 506<p>Поскольку привязка служб VPN может быть выполнена непосредственно системой без взаимодействия с приложениями, 507клиентам VPN требуется обрабатывать новые точки доступа для постоянного подключения к VPN. Как и раньше, 508службы для системы указываются фильтром намерений, соответствующим действию 509<code>android.net.VpnService</code>. </p> 510 511<p> 512 Пользователи могут вручную установить клиентов постоянного подключения к VPN, реализующих методы 513<code>VPNService</code>, на экране настроек основного пользователя 514<strong>Settings>More>Vpn</strong>. 515</p> 516 517<h2 id="accessibility_enhancements">Расширение специальных возможностей</h2> 518 519<p>Android N теперь предлагает настройки Vision Settings непосредственно на экране приветствия при начальной установке нового устройства. 520Это значительно упрощает пользователям обнаружение и настройку на своих устройствах 521специальных возможностей, включая жесты увеличения, размер шрифта, размер экрана и 522функцию TalkBack. </p> 523 524<p>Благодаря более приметному расположению этих настроек пользователи 525чаще будут пробовать ваше приложение с включенными специальными возможностями. Обязательно протестируйте ваше приложение с этими настройками, 526включив их на экране Settings > 527Accessibility.</p> 528 529<p>Также в Android N предусмотрены службы специальных возможностей которые помогут пользователям с нарушениями двигательных функций 530касаться экрана. Новый API позволяет встроить в службы такие 531возможности, как отслеживание лица, отслеживание взгляда, сканирование точек и другой функционал, соответствующий потребностям 532этих пользователей.</p> 533 534<p>Дополнительную информацию можно найти в описании <code>android.accessibilityservice.GestureDescription</code> 535 в загружаемом <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Справочнике по API</a>.</p> 536 537 538<h2 id="direct_boot">Режим Direct Boot</h2> 539 540<p>Режим Direct Boot ускоряет загрузку устройства и позволяет зарегистрированным приложениям 541сохранить ограниченную функциональность даже после непредвиденной перезагрузки. 542Например, если зашифрованное устройство перезагрузится, когда пользователь спит, 543уведомления о зарегистрированных предупреждениях, сообщениях и входящих вызовах будут поступать пользователю, как в обычном режиме. 544Это также означает, что специальные возможности могут быть доступны сразу после перезагрузки. 545</p> 546 547<p>Режим Direct Boot использует преимущество шифрования на уровне файлов в Android N 548для применения детализированных политик шифрования к данным системы и приложений. 549Система использует хранилище, зашифрованное на уровне устройства, для выбранных системных данных и данных из явным образом зарегистрированных приложений. 550По умолчанию для всех остальных системных данных, пользовательских данных, приложений и 551данных приложений используется хранилище, зашифрованное на уровне учетной записи. </p> 552 553<p>При загрузке система запускается в ограниченном режиме с доступом к данным, зашифрованным 554на уровне устройства, и без общего доступа к приложениям и данным. 555Если у вас есть компоненты, которые должны быть запущены в этом режиме, их можно зарегистрировать, 556установив соответствующий флаг в манифесте. После перезагрузки система активирует зарегистрированные 557компоненты с помощью рассылки намерения <code>LOCKED_BOOT_COMPLETED</code>. 558 Система обеспечивает доступность зарегистрированных данных приложений, зашифрованных на уровне устройства, 559до разблокировки экрана. Все остальные данные остаются недоступными, пока пользователь не подтвердит свои учетную информацию на экране блокировки, 560после чего данные будут расшифрованы. </p> 561 562Дополнительная информация приведена в документе <a href="{@docRoot}preview/features/direct-boot.html">Direct Boot</a>.</p> 563</p> 564 565 566<h2 id="key_attestation">Аттестация ключей</h2> 567 568<p>Аппаратные хранилища ключей обеспечивают безопасный метод создания, хранения, 569и использования криптографических ключей на устройствах Android. Они защищают ключи от 570ядра Linux, потенциальных уязвимостей Android и извлечения из устройств 571с корневым доступом.</p> 572 573<p>Чтобы упростить и повысить безопасность использования аппаратных хранилищ ключей 574в Android N введена возможность аттестации ключей. Приложения и внешние хранилища ключей могут использовать аттестацию, 575чтобы определить, является ли пара ключей RSA или EC 576аппаратной, какие свойства имеет эта пара ключей и какие ограничения применяются 577к ее использованию и сроку действия. </p> 578 579<p>Приложения и службы внешних хранилищ могут запросить информацию о паре ключей 580через сертификат аттестации X.509, который должен быть подписан действительным ключом 581аттестации. Ключ аттестации представляет собой ключ подписи ECDSA, который 582встраивается в аппаратное хранилище ключей устройства при его изготовлении на заводе. 583Поэтому сертификат аттестации, подписанный действительным ключом аттестации, 584подтверждает существование аппаратного хранилища ключей вместе со сведениями о парах ключей в таком хранилище. 585</p> 586 587<p>Чтобы убедиться в том, что устройство использует безопасный официальный заводской образ Android, 588для аттестации ключей требуется предоставление <a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">загрузчиком</a> устройства 589следующей информации о <a class="external-link" href="https://source.android.com/security/trusty/index.html">доверенной 590среде выполнения (TEE)</a>:</p> 591 592<ul> 593<li>версия ОС и исправлений, установленных на устройстве;</li> 594<li>открытый ключ <a href="https://source.android.com/security/verifiedboot/index.html" class="external-link">подтвержденной загрузки</a> и состояние блокировки.</li> 595 </ul> 596 597<p>Дополнительная информация об аппаратном хранилище ключей содержится 598в соответствующем <a href="https://source.android.com/security/keystore/" class="external-link">руководстве</a>.</p> 599 600<p>В дополнение к аттестации ключей в Android N также добавлены ключи, 601привязанные к отпечаткам пальцев, которые не отменяются при регистрации новых отпечатков.</p> 602 603<h2 id="network_security_config">Конфигурация сетевой безопасности</h2> 604 605<p>В Android N приложения могут безопасно настраивать поведение своих защищенных (HTTPS, TLS) 606подключений, без каких-либо изменений кода, используя декларативную 607<em>конфигурацию сетевой безопасности</em> вместо обычных ненадежных 608программных API-интерфейсов (например, X509TrustManager).</p> 609 610 <p>Поддерживаемые возможности:</p> 611<ul> 612<li><b>Пользовательские якоря доверия.</b> Позволяют приложению определить доверенные 613центры сертификации (ЦС) для его защищенных соединений. Например, 614приложение может доверять определенным самозаверенным сертификатам или ограниченному набору общих ЦС. 615</li> 616<li><b>Замена при отладке.</b> Позволяет разработчику безопасно отладить 617защищенные соединения своего приложения без дополнительного риска для установленной базы. 618 619</li> 620<li><b>Отказ от передачи данных открытым текстом.</b> Позволяет приложению защитить себя от 621случайной передачи данных открытым текстом.</li> 622<li><b>Прикрепление сертификатов.</b> Дополнительная возможность, позволяющая приложению 623ограничить доверенные ключи сервера для защищенных соединений.</li> 624</ul> 625 626<p>Дополнительная информация содержится в документе <a href="{@docRoot}preview/features/security-config.html">Конфигурация сетевой безопасности</a>. 627</p> 628 629<h2 id="default_trusted_ca">Доверенный центр сертификации по умолчанию</h2> 630 631<p>По умолчанию приложения для Android N могут доверять только системным сертификатам 632и не доверяют ЦС, добавленным пользователем. Если приложению для Android N 633требуется доверять пользовательским ЦС, ему следует указать в 634<a href="{@docRoot}preview/features/security-config.html">конфигурации сетевой безопасности</a> эти доверенные пользовательские ЦС. 635</p> 636 637<h2 id="apk_signature_v2">Схема получения подписи APK, версия 2</h2> 638 639<p>Класс PackageManager теперь поддерживает подтверждение приложений с использованием схемы подписи APK 640версии 2. Вторая версия схемы подписи APK применяется ко всему файлу, 641что существенно ускоряет подтверждение и повышает надежность, позволяя обнаруживать любые несанкционированные изменения файлов APK. 642</p> 643 644<p>Для поддержки обратной совместимости пакет APK должен быть подписан с помощью первой версии схемы 645(схема подписи JAR) до того, как он будет подписан по схеме версии 2. 646Подпись по схеме версии 2 не пройдет подтверждение, если APK будет подписан дополнительным сертификатом 647после добавления подписи по схеме версии 2. </p> 648 649<p>Поддержка подписи APK по схеме версии 2 будет доступна в последующих выпусках N Developer 650Preview.</p> 651 652<h2 id="scoped_directory_access">Доступ к выделенным каталогам</h2> 653 654<p>В Android N приложения могут использовать новые API-интерфейсы для запроса доступа к конкретным каталогам <a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">внешнего хранилища</a>, 655включая каталоги на съемных носителях, таких как SD-карты. 656Новые API-интерфейсы значительно упрощают доступ к стандартным каталогам 657внешнего хранилища, таким как <code>Pictures</code>. Например, приложения, работающие с фотографиями, 658могут использовать эти API-интерфейсы вместо 659<code>READ_EXTERNAL_STORAGE</code>, который разрешает доступ ко всем каталогам 660хранилища или платформы Storage Access Framework, благодаря чему выполняется переход к указанному каталогу. 661</p> 662 663<p>Кроме того, новые API-интерфейсы упрощают процедуру предоставления доступа к внешнему хранилищу для приложения. 664Если вы применяете новые API, система использует простой интерфейс разрешений, 665в котором четко указаны каталоги, к которым приложение запрашивает доступ. 666</p> 667 668<p>Дополнительная информация содержится в документации для разработчиков 669<a href="{@docRoot}preview/features/scoped-folder-access.html">Доступ к выделенным каталогам</a>. 670</p> 671 672 673 674 675 676 677