UIApplicationDelegate.OpenUrl Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
OpenUrl(UIApplication, NSUrl, NSDictionary) |
Indicates that the application should open the specified |
OpenUrl(UIApplication, NSUrl, UIApplicationOpenUrlOptions) |
Indicates that the application should open the specified |
OpenUrl(UIApplication, NSUrl, String, NSObject) |
Indicates that the application should open the specified |
OpenUrl(UIApplication, NSUrl, NSDictionary)
Indicates that the application should open the specified url
with context from options
.
[Foundation.Export("application:openURL:options:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 9, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public virtual bool OpenUrl (UIKit.UIApplication app, Foundation.NSUrl url, Foundation.NSDictionary options);
abstract member OpenUrl : UIKit.UIApplication * Foundation.NSUrl * Foundation.NSDictionary -> bool
override this.OpenUrl : UIKit.UIApplication * Foundation.NSUrl * Foundation.NSDictionary -> bool
Parameters
- app
- UIApplication
- url
- NSUrl
- options
- NSDictionary
Returns
- Attributes
Applies to
OpenUrl(UIApplication, NSUrl, UIApplicationOpenUrlOptions)
Indicates that the application should open the specified url
according to options
.
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 9, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public bool OpenUrl (UIKit.UIApplication app, Foundation.NSUrl url, UIKit.UIApplicationOpenUrlOptions options);
member this.OpenUrl : UIKit.UIApplication * Foundation.NSUrl * UIKit.UIApplicationOpenUrlOptions -> bool
Parameters
- app
- UIApplication
- url
- NSUrl
- options
- UIApplicationOpenUrlOptions
Returns
- Attributes
Applies to
OpenUrl(UIApplication, NSUrl, String, NSObject)
Indicates that the application should open the specified url
.
[Foundation.Export("application:openURL:sourceApplication:annotation:")]
[ObjCRuntime.Obsoleted(ObjCRuntime.PlatformName.iOS, 9, 0, ObjCRuntime.PlatformArchitecture.All, "Override 'OpenUrl (UIApplication, NSUrl, NSDictionary)'. The later will be called if both are implemented.")]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)]
public virtual bool OpenUrl (UIKit.UIApplication application, Foundation.NSUrl url, string sourceApplication, Foundation.NSObject annotation);
abstract member OpenUrl : UIKit.UIApplication * Foundation.NSUrl * string * Foundation.NSObject -> bool
override this.OpenUrl : UIKit.UIApplication * Foundation.NSUrl * string * Foundation.NSObject -> bool
Parameters
- application
- UIApplication
Reference to this application (SharedApplication).
- sourceApplication
- String
The bundle ID of the calling application.
- annotation
- NSObject
Optional property-list data passed by the calling application.
Returns
true
if the application succcessfully handled the url
.
- Attributes
Remarks
When overridden, the application should open the url
and return a boolean indicating whether the retrieval was successful.
If the origin of the request was another application, the methods WillFinishLaunching(UIApplication, NSDictionary) and FinishedLaunching(IUIApplicationDelegate, UIApplication, NSDictionary) will be called prior to this method and can be used to prevent this method from being called.
If the url
originated in a UIDocumentInteractionController, the annotation
may contain additional information specified by the sourceApplication
. Files sent via UIDocumentInteractionController will be in the application's Documents/Inbox
directory. Applications do not have write access to this directory, so if the file needs to be modified, it must be moved to a write-enabled directory. If the file is protected and the user locks the device, it will be inaccessible. (see ProtectedDataDidBecomeAvailable(UIApplication) and ProtectedDataAvailable).
Applications that wish to be activated using M:UIKit.UIApplicationDelegate.OpenURL* must set the CFBundleURLTypes
in their Info.plist
file, as a child of the <plist><dict>
element. The following example shows how a viewer to handle the URL scheme foo://host:port/path?query
might be declared:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.xamarin.MyUniqueIdentifier</string>
<key>CFBundleURLSchemes</key>
<array>
<string>foo</string>
</array>
<key>CFBundleURLTypes</key>
<string>Viewer</string>
</dict>
</array>