如何为 Android N+ 中的 Activity 禁用多窗口模式

How can I disable multiwindow mode for an Activity in Android N+

在 Android N 的开发者预览版中,默认启用多 window 支持。我怎样才能为活动禁用它?另外,如果启用了多 window 的应用程序启动了我禁用的 activity?

,会发生什么情况?

在您的清单中,您需要:

android:resizeableActivity="false"

所以在您的清单文件中,对于每个 activity 您想要禁用的功能,它就像:

<activity android:name=".SomeActivity"
    android:label="@string/app_name"
    android:resizeableActivity="false" />

或者,如果您想在整个应用中禁用它:

<application 
   android:resizeableActivity="false" >
    . . .
</application>

至于会发生什么,Android 只是不会让您的应用进入多屏模式 - 它只会保持全屏。参见 https://developer.android.com/preview/features/multi-window.html and https://developer.android.com/guide/topics/manifest/activity-element.html#resizeableActivity

注意:启动不可调整大小的Activity时,您还应该将Intent.FLAG_ACTIVITY_NEW_TASK标志添加到Intent.Otherwise,它将从根继承属性activity.

在您的清单文件中为您的 Activity 添加 android:resizeableActivity="false",或者您也可以为您的应用程序添加:

<activity android:name=".YourActivity"
android:label="@string/app_name"
android:resizeableActivity="false" />

顺便说一句,我将 android:resizeableActivity="false" 添加到 Manifest,然后我使用 Locale 切换了语言,一些 Activity 没有改变语言。我注意到一些活动有不同的资源。当我在清单中删除 resizebleActivity 属性 时,它工作正常。