APIs do Android 2.3.4

Nível da API: 10

Android 2.3.4 (GINGERBREAD_MR1) é uma versão de manutenção que adiciona várias correções de bugs e patches para a plataforma Android 2.3, sem nenhuma mudança na API em relação ao Android 2.3.3. Além disso, O Android 2.3.4 oferece suporte para a 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 do SDK do Android para download. A plataforma para download inclui uma biblioteca Android e uma imagem do sistema, bem como um conjunto de aparências e 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 fornece a mesma API de estrutura de trabalho 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 acessório aberto é um novo recurso de integração periféricos conectados com aplicativos em execução na plataforma. O recurso é baseado em uma pilha USB (Universal Serial Bus) integrada à plataforma e em uma API exposta aos aplicativos. Periféricos anexados a dispositivos Android já que os acessórios se conectam como hosts USB.

O Acessório aberto foi introduzido no Android 3.1 (API de nível 12), mas é disponibilizado para dispositivos que executam o Android 2.3.4 por meio de um componente externo a biblioteca Open Accessory. A biblioteca expõe uma API de framework que permite que os aplicativos descubram, se comuniquem e gerenciem diversos aplicativos do Google conectados via USB. Ele também fornece a implementação da API em relação partes da plataforma Android que não estão diretamente expostas a aplicativos em Android 2.3.4

A Open Accessory Library é opcional em qualquer dispositivo. Os fabricantes de dispositivos podem escolher se vão incluir ou excluir a biblioteca de acessórios abertos nos produtos. A biblioteca é compatível com o Android 3.1, portanto, os aplicativos desenvolvidos para o Android 2.3.4 vão ser executados corretamente em dispositivos com o Android 3.1, se esses dispositivos oferecerem suporte a acessórios USB.

A API fornecida pela Biblioteca de acessórios abertos é baseada na API Open Accessory fornecida no Android 3.1. Na maioria das áreas, você pode usar as mesmas técnicas APIs de terceiros. 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 extrair um UsbAccessory de uma intent filtrada — Quando você filtra um dispositivo ou acessório conectado com uma intent filtro, o objeto UsbAccessory está contido na intent que é passada ao aplicativo. Se você estiver usando o 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 Open Accessory Library oferecem não oferece suporte ao modo host USB (por exemplo, por UsbDevice), embora o modo host USB seja compatível com o Android 3,1 Um dispositivo Android com Android 2.3.4 não pode funcionar como USB. host. A biblioteca permite que o dispositivo com tecnologia Android funcione como Apenas um periférico, com o acessório conectado funcionando como host USB (pelo app 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 com Android 2.3.4 (ou Android 3.1) com USB suporte a acessórios para testes de tempo de execução em dispositivos conectados

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

Além disso, os desenvolvedores podem solicitar filtros no Google Play, de modo que os aplicativos deles não sejam disponibilizados para usuários cujos dispositivos não forneçam o suporte a acessórios adequado. 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 — 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 seu aplicativo, você precisa compilar o aplicativo na biblioteca Android fornecida no a versão mais recente do Complemento de APIs do Google, que também inclui o Biblioteca de acessórios.

Dependendo das suas necessidades, também é necessário adicionar um android:minSdkVersion="10" ao elemento <uses-sdk> na classe manifesto do aplicativo. Se seu aplicativo for projetado para ser executado somente no Android 2.3.3 ou superior, a declaração do atributo impede que o aplicativo seja instalado em uma diferentes da plataforma.

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