I’m developing an Android app (yes, it’s not a game) and already soft-launched it in two countries. It’s 100% blueprint based and utilizes local save file, which is more than critical for the tool’s proper operation. And of course, I ran into a problem with Android permissions. Manifest is not enough for the newest versions of Android, so I have to make runtime permission request. Obviously, checking the “Use ExternalFilesDir for UE4Game files” is not an option in my case, because the vital save file will be deleted with the app on uninstall or after an update on Google Play. I cannot warn each user to backup save file because I’m going to apply an update soon.
I have to leave “Use ExternalFilesDir for UE4Game files” unchecked, and make runtime permission request on the app’s first start. But here I ran into another problem - granted permission will only work after the app restart, but it requires save file in order to work properly. So now I have a temporary solution - on the first start the app asks for permission, then pop-up appears with explanation that manual restart is required. User presses “Close” button and app closes. But then user will have to run the app again. The problem is that not all users read pop-up texts, and some will think the app have just crashed.
So my questions are - did I miss something? Is there a better solution for my case? Is there a way to make fully automatic restart of the app?