Unterstützt mehrere Fenster

In Android 7.0 und höher können Geräte mithilfe von Multi-Window mehrere Apps gleichzeitig anzeigen. Android unterstützt drei Multi-Window-Konfigurationen:

  • Der geteilte Bildschirm ist die Standardimplementierung für mehrere Fenster, die zwei Aktivitätsbereiche bietet, in denen Benutzer Apps platzieren können.
  • Mit Freeform können Benutzer die Größe der Aktivitätsbereiche dynamisch ändern und mehr als zwei Apps auf ihrem Bildschirm anzeigen.
  • Mit Picture-in-Picture (PIP) können Android-Geräte Videoinhalte in einem kleinen Fenster abspielen, während der Benutzer mit anderen Apps interagiert.

Implementierung

Die Unterstützung mehrerer Fenster ist in Android 7.0 und höher standardmäßig aktiviert. Um es zu deaktivieren, setzen Sie das Flag config_supportsMultiWindow in der Datei config.xml Ihres Geräts auf false .

Multi-Window ist auf allen Geräten mit wenig RAM (Geräten, die ActivityManager.isLowRam() deklarieren) standardmäßig deaktiviert. Geräte mit wenig RAM ignorieren den Wert des Flags config_supportsMultiWindow .

Geteilter Bildschirm

Das Standarderlebnis mit mehreren Fenstern ist der geteilte Bildschirmmodus, bei dem die Systembenutzeroberfläche in der Mitte des Geräts im Hoch- oder Querformat unterteilt ist. Benutzer können die Größe des Fensters ändern, indem sie die Trennlinie je nach Geräteausrichtung von einer Seite zur anderen oder von oben nach unten ziehen.

Nach der Aktivierung des geteilten Bildschirms können Gerätehersteller wählen, ob sie Freeform oder PIP aktivieren möchten.

Android 8.0 und höher verbessert den geteilten Bildschirm, indem der Launcher komprimiert wird, wenn der Benutzer auf „Home“ tippt. Einzelheiten zur Implementierung finden Sie unter Split-Screen-Interaktionen .

Freiform

Nachdem der Multi-Window-Modus mit dem Flag config_supportsMultiWindow aktiviert wurde, können Gerätehersteller Freeform-Windowing zulassen. Dieser Modus ist am nützlichsten auf größeren Geräten, wie z. B. Tablets.

Um den Freiformmodus zu unterstützen, aktivieren Sie die Systemfunktion PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT in /android/frameworks/base/core/java/android/content/pm/PackageManager.java und legen Sie config_freeformWindowManagement in config.xml auf true fest config.xml .

    <bool name="config_freeformWindowManagement">true</bool>
    

Bild im Bild

Nach der Aktivierung des Mehrfenstermodus mit dem Flag config_supportsMultiWindow können Gerätehersteller Bild-in-Bild unterstützen, was es Benutzern ermöglicht, Videos anzusehen, während sie andere Aktivitäten durchsuchen. Während diese Funktion auf Android-Fernsehgeräte ausgerichtet ist, wird diese Funktion möglicherweise auch von anderen Gerätetypen unterstützt.

Um PIP zu unterstützen, aktivieren Sie die Systemfunktion PackageManager#FEATURE_PICTURE_IN_PICTURE in /android/frameworks/base/core/java/android/content/pm/PackageManager.java .

Weitere Details zur PIP-Implementierung für Geräte mit Android 8.0 und höher finden Sie auf der Seite Bild-in-Bild .

System-Benutzeroberfläche

Unterstützt alle Standard-System-Benutzeroberflächen gemäß der Multi-Window-Entwicklerdokumentation .

Apps

Informationen zur Unterstützung des Mehrfenstermodus für vorinstallierte Apps finden Sie in der Android-Entwicklerdokumentation .

Validierung

Um Ihre Implementierung von Multi-Window zu validieren, führen Sie die entsprechenden CTS-Tests aus und befolgen Sie die Testanweisungen für Multi-Window .

Für Android 7.0 befinden sich die Tests in /platform/cts/hostsidetests/services/activitymanager/src/android/server/cts . In Android 8.0 und höher befinden sich die Tests in /platform/cts/tests/framework/base/activitymanager/src/android/server/am .