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
- Neue OpenGL ES 2.0 APIs in
android.opengl.GLES20
. - Neue
ETC1
-,ETC1Util
- undETC1Util.ETC1Texture
-Klassen und Dienstmethoden für die Verwendung von ETC1 für die Texturkomprimierung. - Neue
ImageFormat
-Klasse. - Neue
YUV image format API
zum Aktivieren der Komprimierung von YUV nach JPEG und zur Manipulation von YUV-Daten.
Medien
- Neue APIs in
android.media.AudioManager
zum Verwalten des Audiofokus, der Transportsteuerung, des vorübergehenden Verlusts des Audiofokus und des Duckings. - Neue Broadcast-Intention zum Weiterleiten von Audio an SCO –
ACTION_SCO_AUDIO_STATE_CHANGED
mit Extras, die den neuen Status angeben. - Neue APIs in
SoundPool
zum Erkennen des Abschlusses des Ladens von Audioinhalten. - Neue APIs in
SoundPool
zum automatischen Pausieren und Fortsetzen - Neue APIs in
MediaRecorder
zum Angeben von Audioeinstellungen für die Anzahl der Kanäle, Codierung und Abtastraten - Neue APIs zum Hinzufügen von Dateien zur Mediendatenbank, damit sie automatisch gescannt werden. Weitere Informationen finden Sie unter
MediaScannerConnection.scanFile
undMediaScannerConnection.OnScanCompletedListener
.
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
undCamcorderProfile
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 inmatch_parent
umbenannt. Dies betrifft sowohl XML- als auch Java-Code (sieheViewGroup.LayoutParams
). Die Verwendung vonfill_parent
in älteren Anwendungen wird von der Plattform weiterhin unterstützt. - Mit den neuen Layoutattributen
tabStripEnabled
,tabStripRight
undtabStripLeft
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.
- Neues
- 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.
- Neues
- 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.
- Neues
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
: JedeWallpaperService
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.