Android 2.3.4 APIs

API-Level: 10

Android 2.3.4 (GINGERBREAD_MR1) ist ein Wartungsrelease, mit dem der Plattform Android 2.3 mehrere Fehlerkorrekturen und Patches hinzugefügt werden, ohne API-Änderungen gegenüber Android 2.3.3. Darüber hinaus bietet Android 2.3.4 Unterstützung für die Open Accessory API auf Mobilgeräten über die optionale Open Accessory Library.

Für Entwickler steht die Android 2.3.4-Plattform als herunterladbare Komponente für das Android SDK zur Verfügung. Die herunterladbare Plattform umfasst eine Android-Bibliothek, ein System-Image, eine Reihe von Emulator-Skins und mehr. Wenn du mit der Entwicklung oder Tests für Android 2.3.4 beginnen möchtest, lade die Plattform mit dem Android SDK Manager in dein SDK herunter.

API-Übersicht

Android 2.3.4 stellt für Anwendungen dieselbe Framework-API bereit wie Android 2.3.3 (API-Ebene 10). Eine Zusammenfassung der API finden Sie in den Versionshinweisen für Android 2.3.3.

Zubehörbibliothek öffnen

Open Accessory ist eine neue Funktion zur Einbindung verbundener Peripheriegeräte in Anwendungen, die auf der Plattform ausgeführt werden. Die Funktion basiert auf einem in die Plattform integrierten USB-Stack (Universal Serial Bus) und einer API, die für Anwendungen bereitgestellt wird. Peripheriegeräte, die als Zubehör an Android-Geräte angeschlossen werden, werden als USB-Hosts verbunden.

Open Accessory wird in Android 3.1 (API-Level 12) eingeführt, wird aber für Geräte mit Android 2.3.4 über eine optionale externe Bibliothek, die Open Accessory Library, zur Verfügung gestellt. Die Bibliothek stellt eine Framework-API zur Verfügung, mit der Anwendungen eine Vielzahl von über USB verbundenen Gerätetypen erkennen, mit ihnen kommunizieren und verwalten können. Außerdem implementiert sie die API in Teilen der Android-Plattform, die für Anwendungen in Android 2.3.4 nicht direkt verfügbar sind.

Die Open Accessory Library ist auf jedem Gerät optional. Gerätehersteller können entscheiden, ob die Open Accessory Library in ihre Produkte aufgenommen oder ausgeschlossen wird. Die Bibliothek ist aufwärtskompatibel mit Android 3.1. Apps, die für Android 2.3.4 entwickelt wurden, werden daher auf Geräten mit Android 3.1 ordnungsgemäß ausgeführt, wenn diese Geräte USB-Zubehör unterstützen.

Die von der Open Accessory Library bereitgestellte API basiert auf der in Android 3.1 bereitgestellten Open Accessory API. In den meisten Bereichen können Sie dieselben Techniken und APIs verwenden. Die Entwicklung für die Open Accessory Library unter Android 2.3.4 unterscheidet sich jedoch in folgenden Punkten von der Standard-USB API:

  • UsbManager-Objekt abrufen: Um bei Verwendung der Add-on-Bibliothek ein UsbManager-Objekt zu erhalten, verwenden Sie die Hilfsmethode getInstance() anstelle von getSystemService(). Beispiel:

    Kotlin

    val manager = UsbManager.getInstance(this)
    

    Java

    UsbManager manager = UsbManager.getInstance(this);
    
  • UsbAccessory von einem gefilterten Intent abrufen: Wenn Sie mit einem Intent-Filter nach einem verbundenen Gerät oder Zubehör filtern, ist das Objekt UsbAccessory im Intent enthalten, der an Ihre Anwendung übergeben wird. Wenn Sie die Add-on-Bibliothek verwenden, können Sie das UsbAccessory-Objekt so abrufen:

    Kotlin

    val accessory = UsbManager.getAccessory(intent)
    

    Java

    UsbAccessory accessory = UsbManager.getAccessory(intent)
    
  • Keine Unterstützung für USB-Hosts – Android 2.3.4 und die Open Accessory Library unterstützen den USB-Hostmodus (z. B. über UsbDevice) nicht, obwohl der USB-Hostmodus in Android 3.1 unterstützt wird. Ein Android-Gerät mit Android 2.3.4 kann nicht als USB-Host genutzt werden. Die Bibliothek ermöglicht es dem Android-Gerät, nur als Peripheriegerät zu funktionieren, wobei das angeschlossene Zubehör als USB-Host fungiert (über UsbAccessory).

Um Apps mit der Open Accessory Library zu entwickeln, benötigen Sie Folgendes:

  • Die neueste Version der Android SDK-Tools
  • Die neueste Version des Google APIs-Add-ons, das die Bibliothek selbst enthält (zur Verknüpfung)
  • Ein Hardwaregerät mit Android 2.3.4 (oder Android 3.1) und Unterstützung für USB-Zubehör für Laufzeittests mit verbundenen Geräten

Eine umfassende Beschreibung der Entwicklung von Anwendungen, die mit USB-Zubehör interagieren, finden Sie in der zugehörigen Entwicklerdokumentation.

Darüber hinaus können Entwickler einen Filter bei Google Play anfordern, damit ihre Apps nicht für Nutzer verfügbar sind, deren Geräte keine entsprechende Unterstützung für Zubehör bieten. Fügen Sie dem Anwendungsmanifest das folgende Element hinzu, um eine Filterung anzufordern:

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

API-Ebene

Die Plattform Android 2.3.4 erhöht nicht das API-Level, sondern verwendet dasselbe API-Level wie Android 2.3.3, API-Level 10.

Um in Ihrer App in API-Level 10 eingeführte APIs zu verwenden, müssen Sie die App mithilfe der Android-Bibliothek kompilieren, die in der neuesten Version des Google APIs-Add-ons enthalten ist. Diese Bibliothek enthält auch die Open Accessory Library.

Je nach deinen Anforderungen musst du dem <uses-sdk>-Element im Manifest der Anwendung möglicherweise auch ein android:minSdkVersion="10"-Attribut hinzufügen. Wenn Ihre App nur für die Ausführung unter Android 2.3.3 und höher entwickelt wurde, verhindert die Deklaration des Attributs, dass die App auf früheren Versionen der Plattform installiert wird.

Weitere Informationen finden Sie unter Was ist das API-Level?