Samsung does not support officially the "Adoptable Storage" feature available with Android 6.0. But there are many posts on the web explaining how to do it via "ADB" (Android Debug Bridge).
Click to Read More
Android Marshmallow has the ability to take a SD card and partition it as semi-permanent device storage. But it's not accessible on the Samsung Galaxy S7.
I applied this recipes with success: http://www.modaco.com/news/android/heres-how-to-configure-adoptable-storage-on-your-s7-s7-edge-r1632/
- Download and Install "Samsung Usb Drivers" from http://adbdriver.com/downloads/
- Download and copy in a folder the "ADB kits" from http://adbshell.com/downloads
- Enable the "Developer Options" menu via Settings > About Device > Software Info > Type 5 times the "Build number".
- Enable "USB debugging" via Settings > Developer Options.
- Plug your mobile into your PC via an USB cable.
- Open a command prompt as administrator and type adb shell
- Type next sm list-disks to see the Disk ID. It looked like this on my phone "disk:179,0"
- To use 100% of the SD card as internal storage, type sm partition <Disk ID> private
- Ex.: sm partition disk:179,0 private
- After formatting the microSD card
- Go next into Settings > Storage. Select the "SD card" and hit the menu "More" to "Migrate data". This moves everything to the SD card. Everything in the future should install to the SD card until it is full and then moves to internal.
Before this, due to Oculus VR stuff, my internal storage was full although I already moved manually most Apps to the SD card. Now, after the "Migration of the Data" only 18GB are still used out of the 32GB (~13GB have been moved to the SD Card).
NB.: Since I did this, I notice that moving Apps to the SD often results in an error message : "Not enough storage space". I usually just retry and then the move succeeds.