APIs unter Android 2.2

API-Level: 8

Android 2.2 ist ein kleiner Plattformrelease mit Nutzer- und Entwicklerfunktionen, API-Änderungen und Fehlerkorrekturen. Informationen zu Entwicklerfunktionen und API-Änderungen finden Sie im Abschnitt Framework API.

Für Entwickler ist die Android 2.2-Plattform als herunterladbare Komponente für das Android SDK verfügbar. Die herunterladbare Plattform enthält unter anderem eine Android-Bibliothek und ein System-Image sowie eine Reihe von Emulator-Skins. Wenn Sie mit der Entwicklung oder dem Testen für Android 2.2 beginnen möchten, laden Sie die Plattform mit dem Android SDK Manager in Ihr SDK herunter.

Plattform-Highlights

Eine Liste der neuen Funktionen für Nutzer und Plattformhighlights finden Sie im Dokument Android 2.2 Platform Highlights.

API-Level

Die Android 2.2-Plattform bietet eine aktualisierte Version der Framework-API. Der Android 2.2 API wird eine Ganzzahl-ID zugewiesen – 8 –, die im System selbst gespeichert wird. Anhand dieser Kennung, der sogenannten API-Ebene, kann das System vor der Installation einer Anwendung korrekt feststellen, ob sie mit dem System kompatibel ist.

Wenn Sie in Ihrer Anwendung APIs verwenden möchten, die in Android 2.2 eingeführt wurden, müssen Sie im Manifest Ihrer Anwendung in den android:minSdkVersion-Attributen des <uses-sdk>-Elements den richtigen Wert „8“ festlegen.

Weitere Informationen zur Verwendung der API-Ebene finden Sie im Dokument API-Ebenen.

Änderungen an der Framework API

In den folgenden Abschnitten finden Sie Informationen zu Änderungen an der Application Framework API, die von der Android 2.2-Plattform bereitgestellt wird.

App-Installation auf externen Speichermedien

Auf der Android-Plattform können Anwendungen jetzt die Installation auf den externen Speichermedien des Geräts (z. B. auf der SD-Karte) anfordern, als Alternative zur Installation im internen Speicher des Geräts.

Anwendungsentwickler können den bevorzugten Installationsort für ihre Anwendungen mithilfe eines neuen Attributs von <manifest> in der Manifestdatei android:installLocation angeben. Das Attribut unterstützt drei Werte: "internalOnly", "preferExternal" und "auto". Bei der Installation prüft das System den Wert von android:installLocation und installiert die Anwendung .apk nach Möglichkeit am bevorzugten Speicherort. Wenn die Anwendung eine externe Installation angefordert hat, installiert das System sie in einer privaten, verschlüsselten Partition auf den externen Medien. Nachdem eine .apk-Anwendung extern installiert wurde, kann der Nutzer den Speicherort der .apk ändern und sie bei Bedarf in den internen Speicher des Geräts verschieben (und umgekehrt). Dazu muss er in den Nutzereinstellungen „Apps verwalten“ auswählen.

Standardmäßig installiert das System alle Anwendungen im internen Speicher des Geräts, mit Ausnahme derjenigen, für die ausdrücklich eine externe Installation angefordert wird. Das bedeutet, dass das System Legacy-Anwendungen immer im internen Arbeitsspeicher installiert, da sie keinen Zugriff auf das Attribut android:installLocation haben. Es ist jedoch möglich, eine Legacy-Anwendung so zu konfigurieren und zu kompilieren, dass sie bei Bedarf intern auf älteren Versionen der Plattform und extern auf Android 2.2 und höher installiert wird.

Die Installation auf den externen Medien des Geräts ist nicht für alle Anwendungen geeignet, da die externen Medien möglicherweise herausnehmbar sind und das Trennen und erneute Verbinden die Nutzerfreundlichkeit und die Systemeinstellungen beeinträchtigen kann.

Weitere Informationen zum Festlegen eines bevorzugten Installationsorts für Ihre Anwendung, einschließlich einer Erläuterung, welche Arten von Anwendungen eine externe Installation anfordern sollten und welche nicht, finden Sie im Dokument App-Installationsort.

Datensicherung

Die Plattform bietet jetzt einen allgemeinen Sicherungsdienst, mit dem Nutzerdaten in Apps gesichert und wiederhergestellt werden können. So können Nutzer ihre Daten beim Wechseln des Geräts oder bei der Neuinstallation der App beibehalten. Der Sicherungsmanager kümmert sich um den Transport der Anwendungsdaten zum und vom Sicherungsspeicherbereich in der Cloud. Der Sicherungsmanager kann beliebige Daten speichern, von beliebigen Daten bis hin zu Dateien, und Sicherungs- und Wiederherstellungsvorgänge auf atomarer Ebene verwalten. Weitere Informationen finden Sie unter Datensicherung.

Grafik

Medien

Spracherkennung und Erkennungstechnologien von Drittanbietern

  • Die Plattform bietet neue APIs für die Spracherkennung, mit denen Anwendungen eine umfassendere Interaktion mit der verfügbaren Spracherkennung ermöglichen. So reichen die APIs beispielsweise aus, um die Spracherkennung tief in eine IME einzubinden.
  • Die Plattform bietet auch eine RecognitionService-Basisklasse, mit der Drittanbieter-Entwickler Plug-in-Erkennungs-Engines erstellen können.
  • Neue RecognitionListener-Benutzeroberfläche für Rückrufe
  • Neue RecognizerIntent-Extras, mit denen eine anfragende App Details wie die bevorzugte Sprache oder die Mindestlänge in Millisekunden angeben kann.

Kamera und Camcorder

  • Änderungen an der Kameravorschau-API zur Verbesserung der Effizienz der Vorschaupipeline.
  • Neue Displayausrichtung für die Kamera (sie kann jetzt im Hochformat verwendet werden).
  • Neue APIs in android.hardware.Camera zum Verwalten der Zoomstufe.
  • Neue APIs android.hardware.Camera.Parameters zum Abfragen und Festlegen von Kameraeinstellungen des Geräts wie Brennweite, Belichtung, Zoomstufe und Blickwinkel.
  • Neues thumbnail-Dienstprogramm für Video- und Bildminiaturansichten
  • Mit den neuen Klassen CamcorderProfile und CamcorderProfile können Apps die Kamerafunktionen der Gerätehardware ermitteln.
  • Neue Unterstützung in android.media.ExifInterface für das Abrufen von GPS- und Brennweite

Device Policy Manager

Mit den neuen APIs zur Verwaltung von Geräterichtlinien können Entwickler „Geräteadministrator“-Anwendungen schreiben, mit denen sich Sicherheitsfunktionen des Geräts steuern lassen, z. B. die Mindeststärke des Passworts oder das Löschen von Daten. Nutzer können die Administratoren auswählen, die auf ihren Geräten aktiviert sind. Weitere Informationen finden Sie in den android.app.admin-Klassen oder im Beispielcode der Anwendung in DeviceAdminSample.java.

UI-Framework

  • Mit den neuen UI-Modi „Automodus“ und „Nachtmodus“ und UiModeManager können Anwendungen ihre Benutzeroberfläche an bestimmte Nutzermodi anpassen.
  • Neue ScaleGestureDetector, mit der Views Transformationsgesten erkennen und verarbeiten können, die mehr als einen Zeiger (Multitouch) umfassen, mithilfe der bereitgestellten MotionEvents.
  • Verbesserungen bei der Berichterstellung von Multitouch-Ereignissen in MotionEvent-Objekten.
  • Das Layoutattribut fill_parent wird in match_parent umbenannt. Dies betrifft sowohl XML- als auch Java-Code (siehe ViewGroup.LayoutParams). Die Verwendung von fill_parent in älteren Anwendungen wird von der Plattform weiterhin unterstützt.
  • Mit den neuen Layoutattributen tabStripEnabled, tabStripRight und tabStripLeft können Entwickler den unteren Streifen von TabWidgets anpassen.
  • Bessere Unterstützung für verwaltete Dialogfelder in „Aktivitäten“.

Konten und Synchronisierung

  • Mit der neuen Methode AddPeriodicSync() können Sie eine regelmäßige Synchronisierung mit einem bestimmten Konto, einer bestimmten Autorität und mit Extras mit der angegebenen Häufigkeit planen.

Neue Manifestelemente und ‑attribute

  • So legen Sie den bevorzugten Installationsort der Anwendung fest (siehe oben App-Installation auf externen Speichermedien):
    • Neues android:installLocation-Attribut des <manifest>-Elements. Gibt den Standardinstallationsort an, der von einer Anwendung definiert wurde.
  • So verwalten Sie die Sicherung von Nutzerdaten (weitere Informationen finden Sie oben unter Sicherungsmanager):
    • Neues android:backupAgent-Attribut des <application>-Elements. Gibt den Komponentennamen der BackupAgent-Unterklasse an, die von der Anwendung für die Sicherungs-/Wiederherstellungsvorgänge bereitgestellt wird.
    • Neues android:restoreAnyVersion-Attribut des <application>-Elements. Boolescher Wert, der angibt, ob die Anwendung bereit ist, einen gesicherten Datensatz wiederherzustellen, auch wenn die Sicherung offenbar von einer neueren Version der Anwendung stammt als der, die derzeit auf dem Gerät installiert ist.
  • So verwalten Sie den JIT-Compiler der Plattform:
    • Neues android:vmSafeMode-Attribut des <application>-Elements. Boolescher Wert, der angibt, ob JIT-Compileroptimierungen beim Ausführen der Anwendung deaktiviert werden sollen.

Berechtigungen

  • android.permission.BIND_DEVICE_ADMIN: Diese Berechtigung ist für jeden Broadcast-Empfänger zur Geräteverwaltung erforderlich, damit nur das System damit interagieren kann.
  • android.permission.KILL_BACKGROUND_PROCESSES – Ermöglicht einer Anwendung, killBackgroundProcesses(String) aufzurufen.
  • android.permission.BIND_WALLPAPER: Jede WallpaperService muss diese Berechtigung erfordern, damit nur das System damit interagieren kann.
  • android.permission.SET_TIME: Ermöglicht einer App, die Systemzeit festzulegen.

Bericht zu API-Unterschieden

Eine detaillierte Übersicht über alle API-Änderungen in Android 2.2 (API-Level 8) finden Sie im Bericht zu API-Unterschieden.