API Android 2.3.4

Уровень API: 10

Android 2.3.4 ( GINGERBREAD_MR1 ) — это служебная версия, в которую добавлено несколько исправлений ошибок и исправлений для платформы Android 2.3 без каких-либо изменений API по сравнению с Android 2.3.3. Кроме того, в Android 2.3.4 реализована поддержка Open Accessory API для мобильных устройств через дополнительную библиотеку Open Accessory Library .

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

Обзор API

Android 2.3.4 предоставляет приложениям тот же API-интерфейс платформы, что и Android 2.3.3 (уровень API 10). Краткое описание API см. в примечаниях к версии Android 2.3.3 .

Открытая библиотека аксессуаров

Open Accessory — это новая возможность интеграции подключенных периферийных устройств с приложениями, работающими на платформе. Эта возможность основана на стеке USB (универсальной последовательной шины), встроенном в платформу, и API, доступном приложениям. Периферийные устройства, которые подключаются к устройствам под управлением Android в качестве аксессуаров, подключаются как USB-хосты.

Open Accessory представлен в Android 3.1 (уровень API 12), но доступен для устройств под управлением Android 2.3.4 посредством дополнительной внешней библиотеки Open Accessory Library. Библиотека предоставляет API-интерфейс платформы, который позволяет приложениям обнаруживать, взаимодействовать и управлять различными типами устройств, подключенных через USB. Он также обеспечивает реализацию API для частей платформы Android, которые не доступны напрямую приложениям Android 2.3.4.

Открытая библиотека аксессуаров не является обязательной для любого устройства. Производители устройств могут выбирать, включать ли открытую библиотеку аксессуаров в свои продукты или исключать ее. Библиотека совместима с Android 3.1, поэтому приложения, разработанные для Android 2.3.4, будут корректно работать на устройствах под управлением Android 3.1, если эти устройства поддерживают USB-аксессуары.

API, предоставляемый библиотекой открытых аксессуаров, основан на API открытых аксессуаров, представленном в Android 3.1. В большинстве областей вы можете использовать одни и те же методы и API. Однако разработка открытой библиотеки аксессуаров для Android 2.3.4 отличается от стандартного USB API следующим образом:

  • Получение объекта UsbManager . Чтобы получить объект UsbManager при использовании дополнительной библиотеки, используйте вспомогательный метод getInstance() , а не getSystemService() . Например:

    Котлин

    val manager = UsbManager.getInstance(this)

    Ява

    UsbManager manager = UsbManager.getInstance(this);
  • Получение UsbAccessory из отфильтрованного намерения. Когда вы фильтруете подключенное устройство или аксессуар с помощью фильтра намерений, объект UsbAccessory содержится внутри намерения, которое передается в ваше приложение. Если вы используете дополнительную библиотеку, вы можете получить объект UsbAccessory следующим образом:

    Котлин

    val accessory = UsbManager.getAccessory(intent)

    Ява

    UsbAccessory accessory = UsbManager.getAccessory(intent)
  • Нет поддержки USB-хоста — Android 2.3.4 и открытая библиотека аксессуаров не поддерживают режим USB-хоста (например, через UsbDevice ), хотя режим USB-хоста поддерживается в Android 3.1. Устройство Android под управлением Android 2.3.4 не может работать в качестве USB-хоста. Библиотека позволяет устройству под управлением Android работать только как периферийное устройство, а подключенный аксессуар работает как USB-хост (через UsbAccessory ).

Для разработки приложений с использованием открытой библиотеки аксессуаров вам необходимо:

  • Последняя версия инструментов Android SDK.
  • Последняя версия надстройки Google API, включающая саму библиотеку (для привязки)
  • Реальное аппаратное устройство под управлением Android 2.3.4 (или Android 3.1) с поддержкой USB-аксессуаров для тестирования во время работы на подключенных устройствах.

Подробное описание разработки приложений, взаимодействующих с USB-аксессуарами, можно найти в соответствующей документации для разработчиков .

Кроме того, разработчики могут запросить фильтрацию в Google Play, чтобы их приложения были недоступны пользователям, чьи устройства не обеспечивают соответствующую поддержку аксессуаров. Чтобы запросить фильтрацию, добавьте в манифест приложения следующий элемент:

<uses-feature
  android:name="android.hardware.usb.accessory"
  android:required="true">

Уровень API

Платформа Android 2.3.4 не увеличивает уровень API — она использует тот же уровень API, что и Android 2.3.3, уровень API 10.

Чтобы использовать API-интерфейсы, представленные на уровне API 10, в вашем приложении, вам необходимо скомпилировать приложение с библиотекой Android, которая включена в последнюю версию надстройки Google API, которая также включает в себя открытую библиотеку аксессуаров.

В зависимости от ваших потребностей вам также может потребоваться добавить атрибут android:minSdkVersion="10" к элементу <uses-sdk> в манифесте приложения. Если ваше приложение предназначено для работы только на Android 2.3.3 и выше, объявление атрибута не позволит установить приложение на более ранние версии платформы.

Для получения дополнительной информации прочитайте «Что такое уровень API?».