Posted by Leo Sei, Product Manager on Android
Here are a set of recommendations and information to make sure your application provides a great user experience on this new form factor (you can also check out the Android Dev Summit dedicated session here)
1. Screen continuity
On this new form factor, your application could be transitioned from one screen to another automatically (eg. when folding / unfolding a foldable phone).
During this transition, your app will receive a configuration change for the new layout (and possibly density in some cases).
To provide a great user experience when changing from one screen to the other, you want to make sure your app properly support runtime configuration change.
How to test: Emulators for various devices should become available soon (eg., Samsung will publish a folding / unfolding emulator apk later in Q4 which should work on Samsung Galaxy S4 tablets as well as the AOSP emulator in Android studio).
Today, when an app is in multi-window but not focused, it is on the OnPause state.
While we provide recommendations on how to support multi-window, we noticed a significant number of apps are not handling the onPause state according to those recommendations (video paused or stopped, instant messages not displayed etc).
To help developers provide the best user experience on multi-window with minimal effort, we're allowing device manufacturers to keep all apps resumed when in multi-windows in P.
To opt-in to this behavior in Android P, add the following meta-data in your app manifest:
<meta-data android:name="android.allow_multiple_resumed_activities" android:value="true" />
Note: With the next Android version we're looking into how to optimize compatibility for this behavior.
How to test: There are no device at the moment with this behavior but device manufacturers are working to update existing devices to allow developers to test. Stay tuned for more details from device manufacturers.
Beginning with Android 8.0 (API level 26), the platform offers enhanced support for multiple displays. If an activity supports multi-window mode and is running on a device with multiple displays, users can move the activity from one display to another. When an app launches an activity, the app can specify which display the activity should run on. See here for the full documentation
How to test: You can try it out by using the "Developer options > Simulate secondary displays" option. Keep in mind that those simulated display do not process inputs.