I know that similar questions have been addressed in the past, but I come back to this issue because I have a use case that I do not know how to handle.
The problem is this: I'm developing an app with many functions, which must always remain in portrait orientation: so far, nothing difficult. The problem comes with live streaming: through the use of native interfaces, I implemented a streaming solution that works well. In this case, since full screen streaming is the only case where the app has to be used in landscape, the trick is to keep the app locked in portrait: when the live streamer puts the mobile phone in landscape position, all the other users watching the streaming are forced to rotate the mobile phone in landscape to see the streaming correctly.
So far it would seem to be all solved, but it's not. What I didn't know, when I came up with this solution, is that during the streaming it must be possible to use a chat: this implies that the mobile phones must really be oriented in landscape.
A detail of the whole issue is that the native interfaces are used by me only for streaming recording, while for playback I use a Codename One MediaPlayer in non-native mode, so it can be customized and inserted in the Form as I want.
From all this, it follows that to put a chat over the live streaming I need to be able to change the screen orientation, unlocking it. I understand that on Android it's possible, while on iOS it's not.
I've never done something like this and I don't know how to handle this use case. It's not even clear to me where I find the space to make a chat in landscape orientation, it seems possible only in portrait orientation. Maybe the virtual keyboard could be made available only when the user holds the mobile phone in portrait and be hidden when the mobile phone is landscape oriented. The fact remains that everything else in the app must be locked in portrait.
I hope to receive useful suggestions. Thank you!