On Android the "Ultimate Rotation Control" app does a fantastic job. https://play.google.com/store/apps/deta ... eit.rotate
Well worth purchasing the license. It has global and per-app rotation control settings. You can force apps to use a rotation, independently of the global setting. As in, force Waze to always use Portrait while leaving the phone set to Auto Rotate otherwise.
You can even use it to force a portrait app to use Landscape. Which sometimes allows using a tablet kind of layout on a phone, even when the app wants to use portrait.