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 objetoUsbManager
ao usar a biblioteca de complementos, use o método auxiliargetInstance()
em vez degetSystemService()
. 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 objetoUsbAccessory
está contido na intent transmitida ao seu app. Se você estiver usando a biblioteca de complementos, poderá acessar o objetoUsbAccessory
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 deUsbAccessory
).
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?