How can I disable multiwindow mode for an Activity

2019-03-17 06:15发布

问题:

In the developer preview for Android N, multi-window support is enabled by default. How can I disable it for activites? Also what will happen if a multi-window enabled app launches my disabled activity?

回答1:

In your manifest, you need:

android:resizeableActivity="false"

So in your manifest file, for each activity that you want to disable the feature in, it would be like:

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

Or, if you want to disable it in your entire app:

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

As for what will happen, Android just won't let your app go into multi-screen mode - it will just stay full screen. See https://developer.android.com/preview/features/multi-window.html and https://developer.android.com/guide/topics/manifest/activity-element.html#resizeableActivity.



回答2:

Note: While starting a Unresizable Activity You should also add Intent.FLAG_ACTIVITY_NEW_TASK flag to Intent.Otherwise it will inherit the properties from the root activity.

Add android:resizeableActivity="false" for your Activity in your Manifest file or you can also add this for your Application:

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