26

我去尝试按照此链接添加三星对我的应用程序的多窗口支持。我的应用程序确实出现在三星的多窗口应用程序选项卡中,并且我能够将其拖放到屏幕中,但是我的应用程序并没有像支持多窗口的应用程序那样运行,而是扩展到全屏。

我认为需要进行一些其他更改才能使其正常工作,但我不知道是什么。有谁知道导致这种行为的问题可能是什么?

4

4 回答 4

68

这个 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_Wcom.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。

于 2013-01-06T18:39:17.007 回答
3

在 Galaxy Note 3 上测试我的应用程序后,我发现了另外两件事:

MINIMUM_SIZE并且DEFAULT_SIZE仅适用于三星平板电脑的 MultiWindow,不适用于智能手机。

此外,如果您想在您的应用程序中启用多实例,请将此行添加到您的 AndroidManifest:

<meta-data
            android:name="com.samsung.android.sdk.multiwindow.multiinstance.enable"
            android:value="true" />
于 2013-10-29T01:19:18.670 回答
0

另外值得注意的是为您的应用程序启用 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" />

并将启动器代码添加到您的活动中:

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

作为启动器代码的注释,xda 帖子列出了它并带有com.samsung前缀,但我无法让它在我的 N3 上工作,如那里所述(我使用了上面的修改代码)。在 Pen Window 中,您必须点击编辑并将您的应用程序从底部拖到 Pen Window Launcher 屏幕中,然后才能使用它。

于 2014-10-14T06:22:19.617 回答
0

要在 Android 7 及更高版本上支持多窗口,只需在清单的“活动”或“应用程序”元素中将此 android:resizeableActivity 设置为 true:

android:resizeableActivity="true"

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

于 2017-05-10T13:23:08.637 回答