APIs do Android 2.3.4

Nível da API: 10

O Android 2.3.4 (GINGERBREAD_MR1) é uma versão de manutenção que adiciona várias correções de bugs e patches à plataforma Android 2.3, sem nenhuma mudança de API do Android 2.3.3. Além disso, o Android 2.3.4 oferece suporte à API Open Accessory para dispositivos móveis por meio da Biblioteca aberta de acessórios opcional.

Para desenvolvedores, a plataforma Android 2.3.4 está disponível como um componente do SDK do Android para download. A plataforma para download inclui uma biblioteca Android e uma imagem do sistema, além de um conjunto de skins de emulador e muito mais. Para começar a desenvolver ou testar no Android 2.3.4, use o Android SDK Manager para fazer o download da plataforma no SDK.

Visão geral da API

O Android 2.3.4 oferece a mesma API de framework para aplicativos que o Android 2.3.3 (nível 10 da API). Para conferir um resumo da API, consulte as notas da versão do Android 2.3.3.

Abrir a Biblioteca de acessórios

O Open Accessory é um novo recurso para integrar periféricos conectados a aplicativos em execução na plataforma. A capacidade é baseada em uma pilha USB (Universal Serial Bus) integrada à plataforma e em uma API exposta aos aplicativos. Os periféricos conectados a dispositivos com tecnologia Android como acessórios são conectados como hosts USB.

O acessório aberto foi introduzido no Android 3.1 (nível 12 da API), mas está disponível para dispositivos com Android 2.3.4 por meio de uma biblioteca externa opcional, a Biblioteca de acessório aberto. A biblioteca expõe uma API de framework que permite que os aplicativos detectem, se comuniquem e gerenciem vários tipos de dispositivos conectados por USB. Ele também fornece a implementação da API em partes da plataforma Android que não são expostas diretamente aos aplicativos no Android 2.3.4.

A Open Accessory Library é opcional em qualquer dispositivo. Os fabricantes de dispositivos podem escolher se querem incluir ou excluir a Biblioteca Open Accessory nos produtos. A biblioteca é compatível com o Android 3.1 e versões anteriores. Portanto, os aplicativos desenvolvidos no Android 2.3.4 serão executados corretamente em dispositivos com Android 3.1 se esses dispositivos forem compatíveis com acessórios USB.

A API fornecida pela Open Accessory Library é baseada na API Open Accessory fornecida no Android 3.1. Na maioria das áreas, é possível usar as mesmas técnicas e APIs. No entanto, o desenvolvimento para a biblioteca de acessórios abertos no Android 2.3.4 é diferente da API USB padrão por estes motivos:

  • Como receber um objeto UsbManager: para receber um objeto UsbManager ao usar a biblioteca de complementos, use o método auxiliar getInstance() em vez de getSystemService(). Por exemplo:

    Kotlin

    val manager = UsbManager.getInstance(this)
    

    Java

    UsbManager manager = UsbManager.getInstance(this);
    
  • Como receber um UsbAccessory de uma intent filtrada — quando você filtra um dispositivo ou acessório conectado com um filtro de intent, o objeto UsbAccessory está contido na intent transmitida ao seu app. Se você estiver usando a biblioteca de complementos, poderá acessar o objeto UsbAccessory da seguinte maneira:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • Sem suporte a host USB: o Android 2.3.4 e a biblioteca Open Accessory não oferecem suporte ao modo de host USB (por exemplo, por meio de UsbDevice), embora o modo de host USB seja compatível com o Android 3.1. Dispositivos com tecnologia Android que executam o Android 2.3.4 não podem funcionar como hosts USB. A biblioteca permite que o dispositivo Android funcione apenas como um periférico, com o acessório conectado funcionando como host USB (por meio de UsbAccessory).

Para desenvolver apps usando a Open Accessory Library, você precisa de:

  • A versão mais recente das Ferramentas do SDK do Android.
  • A versão mais recente do complemento de APIs do Google, que inclui a biblioteca (para vinculação)
  • Um dispositivo de hardware real executando o Android 2.3.4 (ou Android 3.1) com suporte a acessórios USB, para testes de tempo de execução em dispositivos conectados.

Para uma discussão completa sobre como desenvolver aplicativos que interagem com acessórios USB, consulte a documentação do desenvolvedor relacionada.

Além disso, os desenvolvedores podem solicitar filtros no Google Play para que os aplicativos não fiquem disponíveis para usuários com dispositivos que não fornecem o suporte adequado para acessórios. Para solicitar a filtragem, adicione o elemento abaixo ao manifesto do aplicativo:

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

Nível da API

A plataforma Android 2.3.4 não incrementa o nível da API, ela usa o mesmo nível de API do Android 2.3.3, API de nível 10.

Para usar as APIs introduzidas no nível 10 do app, é necessário compilá-lo na biblioteca Android fornecida na versão mais recente do complemento de APIs do Google, que também inclui a Open Accessory Library.

Dependendo das suas necessidades, talvez seja necessário adicionar um atributo android:minSdkVersion="10" ao elemento <uses-sdk> no manifesto do aplicativo. Se o aplicativo for projetado para ser executado apenas no Android 2.3.3 e versões mais recentes, a declaração do atributo impede que o aplicativo seja instalado em versões anteriores da plataforma.

Para mais informações, leia O que é o nível da API?