API de Android 2.3.4

Nivel de API: 10

Android 2.3.4 (GINGERBREAD_MR1) es una versión de mantenimiento que agrega varias correcciones de errores y parches a la plataforma Android 2.3, sin cambios en la API de Android 2.3.3. Además, Android 2.3.4 ofrece compatibilidad con la API de Open Accessory en dispositivos móviles, a través de la Open Accessory Library opcional.

Para los desarrolladores, la plataforma Android 2.3.4 está disponible como componente descargable para el SDK de Android. La plataforma descargable incluye una imagen del sistema y una biblioteca de Android, así como un conjunto de máscaras de emulador y mucho más. Para comenzar a desarrollar o probar Android 2.3.4, usa Android SDK Manager para descargar la plataforma en tu SDK.

Descripción general de la API

Android 2.3.4 proporciona la misma API de framework a las aplicaciones que Android 2.3.3 (nivel de API 10). Para obtener un resumen de la API, consulta las notas de la versión de Android 2.3.3.

Abrir biblioteca de accesorios

Open Accessory es una función nueva que permite integrar periféricos conectados con aplicaciones que se ejecutan en la plataforma. La capacidad se basa en una pila USB (bus universal en serie) integrada en la plataforma y una API expuesta a las aplicaciones. Los periféricos que se conectan a dispositivos con Android como accesorios se conectan como hosts USB.

Open Accessory se introduce en Android 3.1 (nivel de API 12), pero está disponible para dispositivos con Android 2.3.4 mediante una biblioteca externa opcional, Open Accessory Library. La biblioteca expone una API de framework que permite que las aplicaciones descubran, se comuniquen con y administren diversos tipos de dispositivos conectados a través de USB. También proporciona la implementación de la API en partes de la plataforma de Android que no están expuestas directamente a aplicaciones en Android 2.3.4.

Open Accessory Library es opcional en cualquier dispositivo. Los fabricantes de dispositivos pueden elegir si desean incluir la biblioteca de Open Accessory en sus productos o excluirla. La biblioteca tiene compatibilidad con versiones futuras de Android 3.1, por lo que las aplicaciones desarrolladas para Android 2.3.4 se ejecutarán correctamente en dispositivos con Android 3.1, si son compatibles con accesorios USB.

La API de Open Accessory Library se basa en la API de Open Accessory que se proporciona en Android 3.1. En la mayoría de las áreas, puedes usar las mismas técnicas y APIs. Sin embargo, el desarrollo para la biblioteca de accesorios abiertos en Android 2.3.4 difiere de la API de USB estándar en los siguientes aspectos:

  • Obtener un objeto UsbManager: Para obtener un objeto UsbManager cuando uses la biblioteca de complementos, usa el método auxiliar getInstance() en lugar de getSystemService(). Por ejemplo:

    Kotlin

    val manager = UsbManager.getInstance(this)
    

    Java

    UsbManager manager = UsbManager.getInstance(this);
    
  • Obtener un UsbAccessory de un intent filtrado: cuando filtras por un dispositivo o accesorio conectado con un filtro de intents, el objeto UsbAccessory se encuentra dentro del intent que se pasa a tu aplicación. Si usas la biblioteca de complementos, puedes obtener el objeto UsbAccessory de la siguiente manera:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • Sin compatibilidad con host USB: Android 2.3.4 y la biblioteca de Open Accessory no admiten el modo de host USB (por ejemplo, a través de UsbDevice), aunque el modo de host USB es compatible con Android 3.1. Un dispositivo con Android 2.3.4 no puede funcionar como host USB. La biblioteca permite que el dispositivo con Android funcione solo como un periférico, y el accesorio conectado funciona como host USB (a través de UsbAccessory).

Para desarrollar apps con Open Accessory Library, necesitas lo siguiente:

  • La versión más reciente de las herramientas del SDK de Android
  • La versión más reciente del complemento de las APIs de Google, que incluye la biblioteca misma (para la vinculación)
  • Un dispositivo de hardware real que ejecute Android 2.3.4 (o Android 3.1) compatible con accesorios USB para realizar pruebas de tiempo de ejecución en dispositivos conectados

Para obtener un análisis completo de cómo desarrollar aplicaciones que interactúen con accesorios USB, consulta la documentación para desarrolladores relacionada.

Además, los desarrolladores pueden solicitar filtros en Google Play para que sus aplicaciones no estén disponibles para los usuarios cuyos dispositivos no proporcionen la compatibilidad adecuada con accesorios. Para solicitar el filtrado, agrega el siguiente elemento al manifiesto de la aplicación:

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

Nivel de API

La plataforma de Android 2.3.4 no aumenta el nivel de API, sino que usa el mismo nivel de API que Android 2.3.3 (nivel de API 10).

Para usar las APIs que se introdujeron en el nivel de API 10 en tu aplicación, debes compilarla en la biblioteca de Android que se proporciona en la última versión del complemento de API de Google, que también incluye la biblioteca Open Accessory.

Según tus necesidades, es posible que también debas agregar un atributo android:minSdkVersion="10" al elemento <uses-sdk> en el manifiesto de la aplicación. Si la aplicación está diseñada para ejecutarse solo en Android 2.3.3 y versiones posteriores, declarar el atributo evita que la aplicación se instale en versiones anteriores de la plataforma.

Para obtener más información, consulta ¿Qué es el nivel de API?