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 em relação ao 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 Open Accessory opcional.
Para desenvolvedores, a plataforma Android 2.3.4 está disponível como um componente para download do SDK do Android. A plataforma para download inclui uma biblioteca Android e uma imagem do sistema, além de um conjunto de aparências do 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 seu SDK.
Visão geral da API
O Android 2.3.4 oferece para aplicativos a mesma API de framework que o Android 2.3.3 (API de nível 10). Para ver um resumo da API, consulte as Notas da versão do Android 2.3.3.
Abrir biblioteca de acessórios
Open Accessory (link em inglês) é um novo recurso para integrar periféricos conectados a aplicativos em execução na plataforma. Esse recurso é baseado em uma pilha USB (Universal Serial Bus) integrada à plataforma e em uma API exposta aos aplicativos. Periféricos que se conectam a dispositivos Android como acessórios se conectam como hosts USB.
O Open Accessory foi introduzido no Android 3.1 (API de nível 12), mas está disponível para dispositivos que executam o Android 2.3.4 por meio de uma biblioteca externa opcional, a Open Accessory Library. A biblioteca expõe uma API de framework que permite que os aplicativos descubram, se comuniquem e gerenciem vários tipos de dispositivos conectados via USB. Ela também fornece a implementação da API em partes da plataforma Android que não estão diretamente expostas a aplicativos no Android 2.3.4.
A Open Accessory Library é opcional em qualquer dispositivo. Os fabricantes de dispositivos podem incluir ou excluir a Biblioteca Open Accessory nos produtos. A biblioteca é compatível com versões futuras do Android 3.1, então os aplicativos desenvolvidos com o Android 2.3.4 serão executados corretamente em dispositivos com o Android 3.1, se esses dispositivos forem compatíveis com acessórios USB.
A API fornecida pela Biblioteca Open Accessory é 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 Open Accessory no Android 2.3.4 difere da API USB padrão destas maneiras:
- Conseguir 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);
- Extrair um
UsbAccessory
de uma intent filtrada: quando você filtra um dispositivo ou acessório conectado com um filtro de intent, o objetoUsbAccessory
fica dentro da intent transmitida ao 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 Open Accessory Library 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. Um dispositivo com Android 2.3.4 não pode funcionar como um host USB. A biblioteca permite que o dispositivo Android funcione apenas como periférico, com o acessório conectado funcionando como host USB (porUsbAccessory
).
Para desenvolver apps usando a Biblioteca Open Accessory, 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 própria biblioteca (para vinculação)
- Um dispositivo de hardware real que executa 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 a filtragem no Google Play para que os apps não fiquem disponíveis para usuários com dispositivos que não oferecem o suporte adequado aos 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 de API
A plataforma Android 2.3.4 não incrementa o nível da API. Ela usa o mesmo nível de API que o Android 2.3.3, API de nível 10.
Para usar as APIs introduzidas na API de nível 10, você precisa compilar o aplicativo na biblioteca do Android fornecida na versão mais recente do complemento de APIs do Google, que também inclui a biblioteca Open Accessory.
Dependendo das suas necessidades, talvez
também seja necessário adicionar um atributo android:minSdkVersion="10"
ao elemento <uses-sdk>
no manifesto
do aplicativo. Se o aplicativo foi projetado para ser executado apenas no Android 2.3.3 e versões mais recentes,
a declaração do atributo evita que o aplicativo seja instalado em versões
anteriores da plataforma.
Para mais informações, leia O que é o nível da API?.