Добавление многооконной поддержки Samsung в приложение Android

Я пошел и попытался добавить поддержку мультиокна Samsung для моего приложения по этой ссылке. Мое приложение появилось на вкладке многооконных приложений Samsung, и я смог перетащить его на экран, однако мое приложение не работало так, как должно работать приложение, поддерживаемое несколькими окнами, а развернулось на весь экран.

Я думаю, что есть некоторые другие изменения, которые необходимо внести, чтобы заставить его работать должным образом, но я понятия не имею, что. У кого-нибудь есть идеи, в чем может быть проблема, вызывающая такое поведение?

4 ответа

Решение

Этот пост на форуме xda-developers содержит пошаговое руководство, которое я перефразировал здесь.

Убедитесь, что ваш манифест содержит следующее где-то внутри <application> тег:

<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" />

Для желаемой деятельности, добавьте к его <intent-filter> тег:

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

Обязательно определите размеры выше в файле ресурсов.

В разделе комментариев этого поста пользователь упоминает, что минимальный размер вызывает у него проблемы, и предлагает удалить com.sec.android.multiwindow.MINIMUM_SIZE_W а также com.sec.android.multiwindow.MINIMUM_SIZE_H,

Один пользователь указал, что указание измерений через ресурс измерений не работает для него; вместо этого он жестко закодировал атрибут value:

<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" />

Боюсь, я не могу попробовать себя, потому что у меня нет Galaxy Note.

После тестирования моего приложения на Galaxy Note 3 я обнаружил еще две вещи:

MINIMUM_SIZE а также DEFAULT_SIZE работает только на планшетах MultiWindow для Samsung, а не на смартфонах.

Также, если вы хотите включить Multi-Instance в вашем приложении, добавьте эту строку в ваш AndroidManifest:

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

Также стоит отметить, что Pen Window (часть многооконной системы) для вашего приложения, наряду с Multi-Window и Multi-Instance, как отмечено здесь ( http://forum.xda-developers.com/showthread.php?t=2499720):

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

и добавьте код Launcher в свою деятельность:

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

Как примечание к коду запуска, в сообщении xda он указан с com.samsung префикс, но я не мог заставить его работать на моем N3, как описано там (я использовал измененный код выше). В окне пера вам нужно будет нажать "Редактировать" и перетащить свое приложение снизу на экран "Панели пера", прежде чем вы сможете его использовать.

Чтобы поддерживать многооконный режим на Android 7 и выше, просто установите для android:resizeableActivity значение true в элементе "активность" или "приложение" вашего манифеста:

android:resizeableActivity="true"

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

Другие вопросы по тегам