Android platform allows launch any app from inside of other app as long as we know the full package name of the target app. Developer can even specify the activity to be opened initially.
iOS and Windows Phone don’t allow launch arbitrary app on the device, instead, they have different approach, the URL scheme. The targe app can register a specific URL scheme (for example “com.facebook:” for Facebook app), later when user launches the same URL from either another app or inside a webpage the target app will be launched automatically. Developer can also pass parameters in the URL just like we do in a normal URL.
Please be aware, the URL scheme introduces a security flaw because any third party app can register the same URL scheme. If more than one third-party app registers to handle the same URL scheme: for iOS, there is currently no process for determining which app will be given that scheme (see doc); for Windows Phone, each time the user opens the file, they will be asked which app they want to use.
Besides, Windows Phone provides a way that launching apps from the same publisher who published the current app. See below the code sample:
IEnumerable<Package> apps = Windows.Phone.Management.Deployment
.InstallationManager
.FindPackagesForCurrentPublisher();
apps.First().Launch(string.Empty);