When you build a multi-platform application in .NET, especially for the mobile, you typically choose between two approaches. One is to code the shared UI layer commonly with Xamarin.
As it’s mentioned in MVVMCross documentation Android is quite specific in terms of navigation requirements. The entry point is statically indicated by MainLauncher = true attribute parameter on the activity.
Working on a bug fix in MVVMCross-based mobile application I noticed a strange behavior. The navigation to other view model I put in async Init<TInit>(TInit parameters) which as executed on the first view model in my app was running twice.