Hi, so I have an app which uses 3 possible rendering engines depending on the type of device it's connected to (GL, GoogleVR/Daydream, Oculus). For some devices (like Samsung S8) it's possible to use it in all 3 of these modes depending on the headset it's put into. Everything works as expected in "developer" mode, but in "non-developer" mode, there are some issues getting it to work with GearVR.
If I set "com.samsung.android.vr.application.mode" option in the manifest to "vr_only", then the GearVR part works, but it's not possible to use the other platforms as the app insists that the phone needs to be inserted into the GearVR. If I set the option to "dual" then everything else works, except for GearVR. Putting the device into the GearVR while the app is running will send it to background, and there's no way to start it from Oculus Home (my GearVR doesn't show "unknown sources"). Also, there doesn't seem to be a way for the app to detect that the phone has been put into the GearVR.
So my questions are:
1) How do I detect that the phone has been put into the GearVR? 2) How do I get my app to stay in the foreground when putting it into the GearVR?
I want to run this from a single APK that can be deployed on Android, Daydream, GearVR or Oculus Go/Quest. It doesn't use Unity or Unreal.
The lack of response, any success story anywhere, or anything I've tried working leads me to conclude that there is no such thing as a "dual" mode app. Will just have to release 2 APKs, one with "vr_only" in manifest for GearVR/Oculus and one without for everything else. App does runtime check for presence of "vr_only" to determine whether it should start in "Oculus" mode.