API Android 4.0.3

Уровень API: 15

Android 4.0.3 ( ICE_CREAM_SANDWICH_MR1 ) — это дополнительная версия семейства платформ Android 4.0 ( ICE_CREAM_SANDWICH ). Этот выпуск включает в себя новые функции для пользователей и разработчиков, изменения API и различные исправления ошибок.

Для разработчиков платформа Android 4.0.3 доступна в виде загружаемого компонента Android SDK. Загружаемая платформа включает в себя библиотеку Android и образ системы, а также набор скинов эмулятора и многое другое. Чтобы начать разработку или тестирование для Android 4.0.3, используйте Android SDK Manager, чтобы загрузить платформу в свой SDK.

Обзор API

В разделах ниже представлен технический обзор новых API в Android 4.0.3.

API социального потока в поставщике контактов

Приложения, которые используют данные социальных потоков, такие как обновления статуса и отметки, теперь могут синхронизировать эти данные с каждым из контактов пользователя, предоставляя элементы в потоке вместе с фотографиями для каждого.

Таблица базы данных, содержащая социальный поток отдельного контакта, определяется android.provider.ContactsContract.StreamItems, Uri для которого вложен в каталог ContactsContract.RawContacts , которому принадлежат элементы потока. Каждая таблица социальных потоков включает в себя несколько столбцов для метаданных о каждом элементе потока, таких как значок, обозначающий источник (аватар), метка элемента, основное текстовое содержимое, комментарии об элементе (например, ответы других людей), и более. Фотографии, связанные с потоком, хранятся в другой таблице, определенной android.provider.ContactsContract.StreamItemPhotos, которая доступна как подкаталог Uri android.provider.ContactsContract.StreamItems.

Дополнительные сведения см. в разделах android.provider.ContactsContract.StreamItems и android.provider.ContactsContract.StreamItemPhotos.

Чтобы читать или записывать элементы социального потока для контакта, приложение должно запросить разрешение у пользователя, объявив <uses-permission android:name="android.permission.READ_SOCIAL_STREAM"> и/или <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"> в своих файлах манифеста.

Поставщик календаря
  • Добавляет класс CalendarContract.Colors для представления таблицы цветов в поставщике календаря . Класс предоставляет поля для доступа к цветам, доступным для данной учетной записи. На цвета ссылается COLOR_KEY , который должен быть уникальным для данного имени/типа учетной записи. Эти значения могут быть обновлены только адаптером синхронизации.
  • Добавляет ALLOWED_AVAILABILITY и ALLOWED_ATTENDEE_TYPES для поддержки обмена/синхронизации.
  • Добавляет TYPE_RESOURCE (например, конференц-залы) для участников и AVAILABILITY_TENTATIVE , а также EVENT_COLOR_KEY для событий.

Виджеты на главном экране

Начиная с Android 4.0, виджеты главного экрана больше не должны иметь собственные поля. Вместо этого система теперь автоматически добавляет поля для каждого виджета в зависимости от характеристик текущего экрана. Это приводит к более единообразному и последовательному представлению виджетов в сетке. Чтобы помочь приложениям, размещающим виджеты на главном экране, платформа предоставляет новый метод getDefaultPaddingForWidget() . Приложения могут вызывать этот метод, чтобы получить определенное системой дополнение и учесть его при вычислении количества ячеек, выделяемых виджету.

Проверка орфографии

  • Для приложений, обращающихся к службам проверки орфографии, новый метод cancel() отменяет все ожидающие и выполняемые задачи проверки орфографии в сеансе.
  • Для служб проверки правописания новый флаг предложений RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS позволяет службам отличать предложения с более высоким уровнем достоверности от предложений с более низким уровнем достоверности. Например, программа проверки орфографии может установить флаг, если входное слово отсутствует в пользовательском словаре, но имеет вероятные варианты, или не устанавливать флаг, если входное слово отсутствует в словаре и имеет варианты, которые, вероятно, будут менее полезными. .

    Приложения, подключенные к средству проверки орфографии, могут использовать флаг RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS в сочетании с другими атрибутами предложения, а также методами getSuggestionsAttributes() и getSuggestionsCount() , чтобы определить, следует ли помечать входные слова как опечатки и предлагать предложения.

  • Новый стиль FLAG_AUTO_CORRECTION для текстовых фрагментов указывает, что автокоррекция будет применена к слову/тексту, который пользователь набирает/сочиняет. Этот тип предложения отображается по-другому, чтобы указать, что происходит автокоррекция.

Bluetooth

Новые общедоступные методы fetchUuidsWithSdp() и getUuids() позволяют приложениям определять функции (UUID), поддерживаемые удаленным устройством. В случае fetchUuidsWithSdp() система выполняет обнаружение службы на удаленном устройстве, чтобы получить поддерживаемые UUID, а затем передает результат в виде намерения ACTION_UUID .

набор инструментов пользовательского интерфейса

Новые методы setUserVisibleHint() и getUserVisibleHint() позволяют фрагменту установить подсказку о том, видим ли он в данный момент пользователю. Система откладывает запуск фрагментов, которые не видны пользователю, до тех пор, пока не запустятся загрузчики видимых фрагментов. Подсказка видимости по умолчанию имеет значение «истина».

Графика

Доступность

  • Клиенты RemoteViews теперь могут использовать метод setContentDescription() для установки и получения описания содержимого любого представления в развернутом макете.
  • Методы getMaxScrollX() , getMaxScrollY() , setMaxScrollX() и setMaxScrollY() позволяют приложениям получать и устанавливать максимальное смещение прокрутки для объекта AccessibilityRecord .
  • Когда включен режим сенсорного исследования, новый безопасный параметр ACCESSIBILITY_SPEAK_PASSWORD указывает, запрашивает ли пользователь IME озвучивание текста, введенного в поля пароля, даже если гарнитура не используется. По умолчанию текст пароля не произносится, если не используется гарнитура.

Текст в речь

  • Добавляет новый метод getFeatures() для запроса и включения поддержки TTS в сети.
  • Добавляет новый класс прослушивателя UtteranceProgressListener , который механизмы могут зарегистрировать для получения уведомлений об ошибках синтеза речи.

База данных

  • Новый класс CrossProcessCursorWrapper позволяет поставщикам контента более эффективно возвращать результаты межпроцессного запроса. Новый класс является полезным строительным блоком для упаковки курсоров, которые будут удаленно отправляться процессам. Он также может прозрачно преобразовывать обычные объекты Cursor в объекты CrossProcessCursor .

    Класс CrossProcessCursorWrapper исправляет распространенные проблемы с производительностью и ошибки, с которыми сталкивались приложения при реализации поставщиков контента.

  • Конструктор CursorWindow(java.lang.String) теперь принимает в качестве входных данных строку имени. Система больше не различает локальные и удаленные окна курсора, поэтому CursorWindow(boolean) теперь устарел.

Намерения

Добавляет новые категории для таргетинга на распространенные типы приложений на устройстве, такие как CATEGORY_APP_BROWSER , CATEGORY_APP_CALENDAR , CATEGORY_APP_MAPS и другие.

Камера

Разрешения

Ниже приведены новые разрешения:

  • android.Manifest.permission#READ_SOCIAL_STREAM и android.Manifest.permission#WRITE_SOCIAL_STREAM: разрешите адаптеру синхронизации читать и записывать данные социального потока для контакта в общем поставщике контактов.

Подробный обзор всех изменений API в Android 4.0.3 (уровень API 15) см. в отчете о различиях API .

Уровень API

API Android 4.0.3 присвоен целочисленный идентификатор — 15 , который хранится в самой системе. Этот идентификатор, называемый «уровнем API», позволяет системе правильно определить, совместимо ли приложение с системой, до его установки.

Чтобы использовать API-интерфейсы, представленные в Android 4.0.3, в вашем приложении, вам необходимо скомпилировать приложение для платформы Android, поддерживающей уровень API 15 или выше. В зависимости от ваших потребностей вам также может потребоваться добавить атрибут android:minSdkVersion="15" к элементу <uses-sdk> .

Дополнительную информацию см. в документе «Уровни API» .