Opening another application on the iPhone using NSUrl
The NSUrl class is what allows an application to open other
applications within the iPhone OS while passing parameters.
The calling sequence is fairly simple. There are two steps
to making this call:
1. When the NSUrl class is
instantiated, a string representing the URL scheme is
called. Note that different applications will have different
schemes and use different protocols.
2. The static
method UIApplication.SharedApplication.OpenUrl(ns) is
called, where ns is the NSUrl class. When the static method
is called, if it is not possible to open a URL, a false is
returned. If it is possible to open the URL that is passed,
the URL is opened and a true is returned.
Some code to do this looks like:
NSUrl ns = new NSUrl(prot + first + sec.Trim());
if (!UIApplication.SharedApplication.OpenUrl(ns))
{
var av = new UIAlertView("Badness happened"
, "The scheme '" + prot + "' is not supported on this device.",
null, "Ok thanks", null);
av.Show();
}
Ok, this all sounds cool, now lets look at the format of the
url schemes that you can pass into NSUrl. For a list of
them, check out:
http://wiki.akosma.com/IPhone_URL_Schemes
Want to know more about developing with the iPhone? Check
out my
Wrox Blox eBook on developing applications with
MonoTouch for the iPhone/iPod touch for .NET/C#
developers.