it-swarm.com.de

Samsung-Unterstützung für mehrere Fenster zur Android-Anwendung hinzufügen

Ich ging und versuchte, die Multi-Window-Unterstützung von Samsung für meine App nach diesem Link hinzuzufügen. Meine App wurde auf der Registerkarte mit den Fenstern für mehrere Fenster von Samsung angezeigt, und ich konnte sie per Drag & Drop auf den Bildschirm ziehen. Die App verhalten sich jedoch nicht so, wie sich die von mehreren Fenstern unterstützte App verhalten sollte, sondern wurde auf Vollbild erweitert.

Ich denke, es gibt noch einige andere Änderungen, die notwendig sind, damit es richtig funktioniert, aber ich habe keine Ahnung, was. Hat jemand irgendwelche Ideen, was das Problem sein könnte, das dieses Verhalten verursacht?

25
Rohit Malish

Dieses Xda-Entwickler-Forum enthält eine Schritt-für-Schritt-Anleitung, die ich hier umschrieben habe.

Stellen Sie sicher, dass Ihr Manifest irgendwo im <application>-Tag Folgendes enthält:

<uses-library Android:required="false" Android:name="com.sec.Android.app.multiwindow" />
<meta-data Android:name="com.sec.Android.support.multiwindow" Android:value="true" />
<meta-data Android:name="com.sec.Android.multiwindow.DEFAULT_SIZE_W" Android:resource="@dimen/app_defaultsize_w" />
<meta-data Android:name="com.sec.Android.multiwindow.DEFAULT_SIZE_H" Android:resource="@dimen/app_defaultsize_h" />
<meta-data Android:name="com.sec.Android.multiwindow.MINIMUM_SIZE_W" Android:resource="@dimen/app_minimumsize_w" />
<meta-data Android:name="com.sec.Android.multiwindow.MINIMUM_SIZE_H" Android:resource="@dimen/app_minimumsize_h" />

Fügen Sie für die gewünschte Aktivität das <intent-filter>-Tag hinzu:

<category Android:name="Android.intent.category.MULTIWINDOW_LAUNCHER" />

Stellen Sie sicher, dass Sie die obigen Dimensionen in einer Ressourcendatei definieren.

In den Kommentaren dieses Blogposts erwähnt ein Benutzer, dass die Mindestgröße ein Problem für ihn verursacht hat, und schlug vor, com.sec.Android.multiwindow.MINIMUM_SIZE_W und com.sec.Android.multiwindow.MINIMUM_SIZE_H zu entfernen.

Ein Benutzer wies darauf hin , dass die Angabe der Dimensionen über eine Dimensionsressource für ihn nicht funktioniert hat; Stattdessen hat er das Wertattribut fest codiert:

<uses-library Android:required="false" Android:name="com.sec.Android.app.multiwindow" />
<meta-data Android:name="com.sec.Android.support.multiwindow" Android:value="true" />
<meta-data Android:name="com.sec.Android.multiwindow.DEFAULT_SIZE_W" Android:value="632.0dip" />
<meta-data Android:name="com.sec.Android.multiwindow.DEFAULT_SIZE_H" Android:value="598.0dip" />
<meta-data Android:name="com.sec.Android.multiwindow.MINIMUM_SIZE_W" Android:value="632.0dip" />
<meta-data Android:name="com.sec.Android.multiwindow.MINIMUM_SIZE_H" Android:value="598.0dip" />

Ich fürchte, ich kann es nicht selbst versuchen, da ich keine Galaxy Note habe.

64
Paul Lammertsma

Nach dem Testen meiner Anwendung auf Galaxy Note 3 habe ich zwei weitere Dinge herausgefunden:

MINIMUM_SIZE und DEFAULT_SIZE funktionieren nur bei MultiWindow für Samsung-Tablets, nicht bei Smartphones.

Wenn Sie in Ihrer Anwendung Multi-Instance aktivieren möchten, fügen Sie Ihrem AndroidManifest diese Zeile hinzu:

<meta-data
            Android:name="com.samsung.Android.sdk.multiwindow.multiinstance.enable"
            Android:value="true" />
3
Tony Ceralva

Erwähnenswert ist auch die Aktivierung von Pen Window (Teil des Multi-Window-Systems) für Ihre App neben Multi-Window und Multi-Instance wie hier ( http://forum.xda-developers.com/showthread.php.) t = 2499720 ):

<meta-data Android:name="com.samsung.Android.sdk.multiwindow.penwindow.enable" Android:value="true" />

und fügen Sie den Launcher-Code zu Ihrer Aktivität hinzu:

<category Android:name="Android.intent.category.PENWINDOW_LAUNCHER" />

Als Hinweis zum Launcher-Code ist der xda-Beitrag mit einem com.samsung-Präfix aufgeführt, aber ich konnte nicht an meinem N3 arbeiten, wie dort beschrieben (ich habe den modifizierten Code oben verwendet). Im Stiftfenster müssen Sie auf Bearbeiten klicken und Ihre App von unten in den Bildschirm des Stiftfenster-Starters ziehen, bevor Sie sie verwenden können.

0
JCricket

Um Multi Window auf Android 7 und höher zu unterstützen, setzen Sie einfach Android: resizeableActivity im Element "activity" oder "application" Ihres Manifests auf "true":

Android:resizeableActivity="true"

https://developer.Android.com/guide/topics/ui/multi-window.html

0
Regis_AG