APIs unter Android 2.2

API-Level: 8

Android 2.2 ist eine Nebenversion der Plattform, einschließlich Nutzerfunktionen, Entwicklerfunktionen, API-Änderungen und Fehlerkorrekturen. Informationen zu Entwicklerfunktionen und API-Änderungen finden Sie im Abschnitt Framework API.

Für Entwickler steht die Android 2.2-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.2 beginnen möchtest, lade die Plattform mit dem Android SDK Manager in dein SDK herunter.

Plattform-Highlights

Eine Liste der neuen Nutzerfunktionen und Plattform-Highlights findest du im Dokument Android 2.2-Plattformhighlights.

API-Ebene

Die Plattform Android 2.2 stellt eine aktualisierte Version der Framework API bereit. Der Android 2.2 API wird eine Ganzzahl-ID (8) zugewiesen, die im System selbst gespeichert ist. Mit dieser Kennung (API-Ebene) kann das System vor der Installation korrekt feststellen, ob eine App mit dem System kompatibel ist.

Um in Android 2.2 eingeführte APIs in deiner App zu verwenden, musst du in den android:minSdkVersion-Attributen des <uses-sdk>-Elements im Manifest deiner App den korrekten Wert „8“ festlegen.

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

Änderungen an der Framework API

Die folgenden Abschnitte enthalten Informationen zu Änderungen an der Anwendungs-Framework-API der Android 2.2-Plattform.

App-Installation auf externen Speichermedien

Auf der Android-Plattform können Anwendungen jetzt die Installation auf dem externen Speichermedium des Geräts (z. B. der SD-Karte) anfordern, anstatt sie im internen Speicher des Geräts zu installieren.

App-Entwickler können den bevorzugten Installationsort für ihre Apps durch ein neues Attribut 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 dem externen Medium. Sobald eine APK-Anwendung extern installiert wurde, kann der Nutzer den Speicherort der APK-Datei ändern und sie bei Bedarf in den internen Speicher des Geräts verschieben (und umgekehrt) über "Anwendungen verwalten" in den Nutzereinstellungen.

Standardmäßig installiert das System alle Anwendungen im internen Speicher des Geräts, mit Ausnahme der Anwendungen, die ausdrücklich eine externe Installation anfordern. Das bedeutet, dass das System immer Legacy-Anwendungen 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 Plattformen mit Android 2.2 und höher installiert ist.

Beachten Sie, dass die Anforderung der Installation auf dem externen Medium des Geräts nicht für alle Anwendungen geeignet ist, insbesondere weil die externen Medien möglicherweise entfernt werden können und das Trennen/erneute Bereitstellung die Nutzerfreundlichkeit und die Systemeinstellungen beeinträchtigen kann.

Weitere Informationen zum Festlegen eines bevorzugten Installationsspeicherorts für Ihre App, 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 Anwendungen Nutzerdaten sichern und wiederherstellen können. So ist sichergestellt, dass Nutzer ihre Daten behalten können, wenn sie das Gerät wechseln oder die App neu installieren. Der Sicherungsmanager übernimmt den Transport der Anwendungsdaten zum und vom Sicherungsspeicherbereich in der Cloud. Der Sicherungsmanager kann alle Datentypen speichern, von beliebigen Daten bis hin zu Dateien, und verwaltet Sicherungs- und Wiederherstellungsvorgänge in atomarer Weise. Weitere Informationen finden Sie unter Datensicherung.

Grafik

Medien

Spracherkennung und Erkennungs-Engines von Drittanbietern

  • Die Plattform bietet neue Spracherkennungs-APIs, die Anwendungen eine umfassendere Interaktion mit der verfügbaren Spracherkennung ermöglichen. Die APIs reichen beispielsweise aus, um die Spracherkennung umfassend in einen IME zu integrieren.
  • Die Plattform bietet auch eine RecognitionService-Basisklasse, mit der Entwickler von Drittanbietern Plug-in-Erkennungs-Engines erstellen können.
  • Neue RecognitionListener-Oberfläche zum Empfangen von Callbacks.
  • Neue RecognizerIntent-Extras, mit denen eine anfragende App Details wie bevorzugte Sprache, Mindestlänge in Millisekunden usw. angeben kann.

Kamera und Camcorder

  • Änderungen an der Camera Preview API, um die Vorschaupipeline effizienter zu gestalten.
  • Neue Bildschirmausrichtung für die Kamera (funktioniert jetzt im Hochformat).
  • Neue APIs in android.hardware.Camera zum Verwalten der Zoomstufe.
  • Neue APIs android.hardware.Camera.Parameters zum Abfragen und Festlegen von Gerätekameraeinstellungen wie Brennweite, Belichtung, Zoomstufe und Blickwinkel.
  • Neues thumbnail-Dienstprogramm für Miniaturansichten von Videos und Bildern.
  • Mit den neuen Klassen CamcorderProfile und CamcorderProfile können Apps die Kamerafunktionen der Gerätehardware bestimmen.
  • Neue Unterstützung in android.media.ExifInterface zum Abrufen von GPS und Brennweite.

Geräterichtlinienmanager

Mit neuen APIs zur Geräteverwaltung können Entwickler Anwendungen zur Geräteverwaltung schreiben, mit denen Sicherheitsfunktionen des Geräts gesteuert werden können, z. B. die minimale Passwortstärke, das Löschen von Daten usw. 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 Anwendungscode unter DeviceAdminSample.java.

UI-Framework

  • Mit den neuen UI-Modi „Automodus“ und „Nachtmodus“ sowie „UiModeManager“ können Apps ihre App-UI für bestimmte Nutzermodi anpassen.
  • Neues ScaleGestureDetector, mit dem Ansichten Transformationsbewegungen erkennen und verarbeiten können, die mehr als einen Zeiger (Multi-Touch-Funktion) beinhalten. Dazu werden die bereitgestellten MotionEvents verwendet.
  • Die Berichterstellung für Multitouch-Ereignisse in MotionEvent Objekten wurde verbessert.
  • Das Layoutattribut fill_parent wurde in match_parent umbenannt. Dies betrifft sowohl XML- als auch Java-Code (siehe ViewGroup.LayoutParams). Hinweis: Die Plattform wird die Verwendung von fill_parent in älteren Anwendungen weiterhin akzeptieren.
  • Mit den neuen Layoutattributen tabStripEnabled, tabStripRight und tabStripLeft können Entwickler den unteren Balken von TabWidgets anpassen.
  • Verbesserte Unterstützung für verwaltete Dialogfelder unter „Aktivität“.

Konten und Synchronisierung

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

Neue Manifestelemente und -attribute

  • Weitere Informationen zum Angeben des bevorzugten Installationsorts der Anwendung finden Sie oben im Abschnitt App-Installation auf externen Speichermedien:
    • Neues android:installLocation-Attribut des <manifest>-Elements. Gibt den von einer Anwendung festgelegten Standardspeicherort für die Installation an.
  • Informationen zum Verwalten der Sicherung von Nutzerdaten finden Sie oben im Sicherungsmanager:
    • Neues android:backupAgent-Attribut des <application>-Elements. Gibt den Komponentennamen der BackupAgent-Unterklasse an, die von der Anwendung zur Verarbeitung von Sicherungs-/Wiederherstellungsvorgängen bereitgestellt wird, falls vorhanden.
    • Neues android:restoreAnyVersion-Attribut des <application>-Elements. Boolescher Wert, der angibt, ob die Anwendung bereit ist, eine Wiederherstellung eines gesicherten Datasets zu versuchen, auch wenn die Sicherung scheinbar aus einer neueren Version der Anwendung stammt als derzeit auf dem Gerät installiert ist.
  • Zur Verwaltung des JIT-Compilers der Plattform:
    • Neues android:vmSafeMode-Attribut des <application>-Elements. Boolescher Wert, der angibt, ob beim Ausführen der Anwendung JIT-Compiler-Optimierungen deaktiviert werden.

Berechtigungen

  • android.permission.BIND_DEVICE_ADMIN: Jeder Broadcast-Empfänger für die Geräteverwaltung muss diese Berechtigung benötigen, um sicherzustellen, dass nur das System damit interagieren kann.
  • android.permission.KILL_BACKGROUND_PROCESSES: Ermöglicht einer App, killBackgroundProcesses(String) aufzurufen.
  • android.permission.BIND_WALLPAPER: Für jeden WallpaperService ist diese Berechtigung erforderlich, damit nur das System damit interagieren kann.
  • android.permission.SET_TIME: Ermöglicht einer App, die Systemzeit festzulegen.

Bericht zu API-Unterschieden

Eine detaillierte Ansicht aller API-Änderungen in Android 2.2 (API-Level 8) findest du im API-Unterschiedsbericht.