SDK-Zielversion Ihrer App für Wear OS 4 aktualisieren

Nachdem du deine App aktualisiert hast, um sie für Wear OS 4 vorzubereiten, kannst du die Kompatibilität der App mit dieser Wear OS-Version weiter verbessern, indem du deine App auf Android 13 (API-Level 33) ausrichtest.

Wenn Sie die SDK-Zielversion aktualisieren, müssen Sie die Änderungen am Systemverhalten verarbeiten, die für Android 12 oder höher bzw. für Android 13 oder höher gelten. Beachten Sie insbesondere die Änderungen an Berechtigungen und App-Komponenten und Navigationsverhalten, die weiter unten in diesem Leitfaden beschrieben werden.

Build-Datei aktualisieren

Wenn Sie die SDK-Zielversion aktualisieren möchten, öffnen Sie die Datei build.gradle oder build.gradle.kts auf Modulebene und aktualisieren Sie sie mit Werten für Android 13.

Wie Sie die Werte in der Build-Datei formatieren, hängt von der Version des verwendeten Android-Gradle-Plug-ins (AGP) ab.

AGP 7.0.0 oder höher

Wenn du AGP 7.0.0 oder höher verwendest, aktualisiere die build.gradle- oder build.gradle.kts-Datei deiner App mit den folgenden Werten für Android 13:

Cool

android {
    compileSdk 33
    ...
    defaultConfig {
        targetSdk 33
    }
}

Kotlin

android {
    compileSdk = 33
    ...
    defaultConfig {
        targetSdk = 33
    }
}

AGP 4.2.0 oder niedriger

Wenn du AGP 4.2.0 oder niedriger verwendest, aktualisiere die build.gradle- oder build.gradle.kts-Datei deiner App mit den folgenden Werten für Android 13:

Cool

android {
    compileSdkVersion "33"
    ...
    defaultConfig {
        targetSdkVersion "33"
    }
}

Kotlin

android {
    compileSdkVersion = "33"
    ...
    defaultConfig {
        targetSdkVersion = "33"
    }
}

Änderungen an Berechtigungen

In diesem Abschnitt werden mehrere Änderungen an Berechtigungen aufgeführt, die sich auf Apps auswirken, die auf Android 13 ausgerichtet sind.

Berechtigung für Körpersensoren im Hintergrund

Wenn Sie Informationen von gängigen Körpersensoren wie die Herzfrequenz im Hintergrund abrufen möchten, fordern Sie die Berechtigung BODY_SENSORS_BACKGROUND an.

Weitere Informationen finden Sie in der Anleitung Hintergrundzugriff auf Körpersensordaten anfordern.

Berechtigung „Exakter Alarm“

Wenn du zeitgenaue Alarme – auch als genaue Alarme bezeichnet – verwenden möchtest, musst du entweder die Berechtigung USE_EXACT_ALARM oder SCHEDULE_EXACT_ALARM erklären.

Verwende stattdessen ungenaue Alarme, es sei denn, die Kernfunktionen deiner App hängen von exakten Alarmen ab, z. B. für eine Wecker- oder eine Kalender-App. Die meisten Apps können Aufgaben und Ereignisse mit ungenauen Alarmen planen.

Weitere Informationen zum Stellen eines exakten Weckers

Detaillierte Medienberechtigungen

Wenn Ihre App auf Mediendateien zugreifen muss, die von anderen Anwendungen erstellt wurden, müssen Sie detaillierte Medienberechtigungen anfordern, die mit READ_MEDIA_* und nicht mit der Berechtigung READ_EXTERNAL_STORAGE beginnen. Wenn Ihrer App zuvor die Berechtigung READ_EXTERNAL_STORAGE gewährt wurde, erteilt das System die erforderlichen detaillierten Medienberechtigungen automatisch.

Weitere Informationen zu detaillierten Medienberechtigungen

Änderungen an den Komponenten und der Navigation der App

In diesem Abschnitt werden mehrere Änderungen an App-Komponenten und am Navigationsverhalten aufgeführt, die sich auf Apps auswirken, nachdem sie auf Android 13 ausgerichtet sind.

Anforderungen für den Export von App-Komponenten

Wenn Ihre App Aktivitäten, Dienste oder Übertragungsempfänger enthält, die Intent-Filter verwenden, müssen Sie das Attribut android:exported für diese App-Komponenten explizit deklarieren.

Weitere Informationen zum sicheren Exportieren von Komponenten

Veränderlichkeit ausstehender Intents angeben

Sie müssen angeben, ob jedes PendingIntent-Objekt in der Anwendung änderbar oder unveränderlich ist. Verwenden Sie in den meisten Fällen unveränderliche PendingIntent-Objekte, um die Integrität der Daten im Intent zu schützen.

Weitere Informationen zum Angeben der Veränderlichkeit von ausstehenden Intents.

Einschränkungen für die Einführung von Diensten im Vordergrund

In den meisten Fällen kann Ihre App keine Dienste im Vordergrund starten, während sie im Hintergrund ausgeführt wird.

Weitere Informationen zu den Einschränkungen beim Starten eines Dienstes im Vordergrund aus dem Hintergrund

Benachrichtigung zu Einschränkungen auf dem Trampolin

Nachdem der Nutzer mit einer Benachrichtigung interagiert hat, kannst du startActivity() nicht innerhalb eines Dienstes oder Übertragungsempfängers aufrufen. Eine solche Interstitial-App-Komponente, deren einzige Funktion das Starten einer Aktivität ermöglicht, wird als Benachrichtigungs-Trampolin bezeichnet.

Weitere Informationen zu Einschränkungen auf Trampolinen