将三星多窗口支持添加到Android应用程序

我去了,并尝试添加三星的多窗口支持我的应用程序下面的链接 。 我的应用程序确实出现在三星的多窗口应用程序选项卡中,我可以将其拖放到屏幕上,但是我的应用程序没有像支持多窗口的应用程序那样行为,而是扩展到全屏。

我认为还有一些其他的改变需要做,以使其正常工作,但我不知道是什么。 有没有人有任何想法可能是导致此行为的问题?

    这个xda开发人员论坛post包含了一个分步指南,我在这里解释了这个。

    确保你的清单在<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" /> 

    一定要在资源文件中定义上面的尺寸。

    在该博客post的评论部分中,用户提到最小大小对他造成了问题,并build议除去com.sec.android.multiwindow.MINIMUM_SIZE_Wcom.sec.android.multiwindow.MINIMUM_SIZE_H

    一位用户指出 ,通过维度资源指定维度对他不起作用; 他改为硬编码的价值属性:

     <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 3上testing我的应用程序之后,我发现了两件事:

    MINIMUM_SIZEDEFAULT_SIZE只适用于三星平板电脑的MultiWindow,不适用于智能手机。

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

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

    另外值得一提的是为你的应用程序启用笔窗口(多窗口系统的一部分),沿着多窗口和多实例,如这里所述( 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