Ahh, it’s more complicated than that, but I got it working. (TLDR: add the code below into build.settings.)
By default, if your app doesn’t specify a max_aspect ratio in the manifest, the Galaxy S8 assumes your app is unoptimized, and crunches it into a letterbox mode. (Google’s Android Developer’s Blog says if max_aspect isn’t specified in the manifest, “the maximum aspect ratio defaults to 1.86 (roughly 16:9) and your app will not take advantage of the extra screen space”.) On the S8, your app is even labelled with a warning in Settings -> Display -> Full Screen Apps: “This app may not work properly in full screen”. Your users have to manually toggle a switch to force full screen mode on your app.
But you can make full screen work out of the box!
Fortunately, you can add arbitrary AndroidManifest.xml entries, at least to the Application element (see Android Directives in the Corona Docs). If you add the max_aspect meta-data element and set it for at least 2.1, the Galaxy S8 understands that your app is optimized for its larger screen, and it won’t crunch your app down and force it to letterbox. You can do this by adding it into build.settings:
settings = { android = { applicationChildElements = { -- Array of strings [[ \<meta-data android:name="android.max\_aspect" android:value="2.1"/\> ]], }, } }
And if you do this, you’ll get a different notice next to your app in the Settings -> Display -> Full Screen Apps screen: “This app is optimised to run in full screen.” As a bonus, you’ll be listed at the top of that screen, with all the official Samsung & Google apps, and others like Uber & OneDrive. But best of all, your users won’t have to do anything manually to make your app run in full screen, it will work from first launch.