this repo has no description
at main 96 kB view raw
1<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-0.79 docs-doc-page docs-doc-id-linking" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.8.0"><title data-rh=true>Linking · React Native</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true property=og:url content=https://reactnative.dev/docs/linking><meta data-rh=true property=og:locale content=en><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true property=og:image content=https://reactnative.dev/img/logo-share.png><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true name=twitter:image content=https://reactnative.dev/img/logo-share.png><meta data-rh=true name=twitter:site content=@reactnative><meta data-rh=true name=docusaurus_version content=0.79><meta data-rh=true name=docusaurus_tag content=docs-default-0.79><meta data-rh=true name=docsearch:version content=0.79><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-0.79><meta data-rh=true property=og:title content="Linking · React Native"><meta data-rh=true name=description content="Linking gives you a general interface to interact with both incoming and outgoing app links."><meta data-rh=true property=og:description content="Linking gives you a general interface to interact with both incoming and outgoing app links."><link data-rh=true rel=icon href=/img/favicon.ico><link data-rh=true rel=canonical href=https://reactnative.dev/docs/linking><link data-rh=true rel=alternate href=https://reactnative.dev/docs/linking hreflang=en><link data-rh=true rel=alternate href=https://reactnative.dev/docs/linking hreflang=x-default><link data-rh=true rel=preconnect href=https://8TDSE0OHGQ-dsn.algolia.net crossorigin=anonymous><link rel=alternate type=application/rss+xml href=/blog/rss.xml title="React Native RSS Feed"><link rel=alternate type=application/atom+xml href=/blog/atom.xml title="React Native Atom Feed"><link rel=alternate type=application/json href=/blog/feed.json title="React Native JSON Feed"><link rel=preconnect href=https://www.google-analytics.com><script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-41298772-2","auto"),ga("send","pageview")</script><script async src=https://www.google-analytics.com/analytics.js></script><link rel=preconnect href=https://www.google-analytics.com><link rel=preconnect href=https://www.googletagmanager.com><script async src="https://www.googletagmanager.com/gtag/js?id=G-58L13S6BDP"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-58L13S6BDP",{})</script><link rel=search type=application/opensearchdescription+xml title="React Native" href=/opensearch.xml><link rel=icon href=/img/pwa/manifest-icon-512.png><link rel=manifest href=/manifest.json><meta name=theme-color content=#20232a><meta name=apple-mobile-web-app-capable content=yes><meta name=apple-mobile-web-app-status-bar-style content=#20232a><link rel=apple-touch-icon href=/img/pwa/manifest-icon-512.png><link rel=mask-icon href=/img/pwa/manifest-icon-512.png color=#06bcee><meta name=msapplication-TileImage href=/img/pwa/manifest-icon-512.png><meta name=msapplication-TileColor content=#20232a><script src=https://cdn.jsdelivr.net/npm/focus-visible@5.2.0/dist/focus-visible.min.js defer></script><script src=https://widget.surveymonkey.com/collect/website/js/tRaiETqnLgj758hTBazgd8ryO5qrZo8Exadq9qmt1wtm4_2FdZGEAKHDFEt_2BBlwwM4.js defer></script><script src=https://snack.expo.dev/embed.js defer></script><script src=https://platform.twitter.com/widgets.js async></script><link rel=stylesheet href=/assets/css/styles.883cb042.css><script src=/assets/js/runtime~main.8ac1e6f0.js defer></script><script src=/assets/js/main.341783f5.js defer></script><body class=navigation-with-keyboard><svg xmlns=http://www.w3.org/2000/svg style="display: none;"><defs> 2<symbol id=theme-svg-external-link viewBox="0 0 24 24"><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol> 3</defs></svg> 4<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_oPtH href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><div class="theme-announcement-bar announcementBar_zJRd" style=background-color:#20232a;color:#fff role=banner><div class="content_bSb_ announcementBarContent_t7IR">Join us for React Conf on Oct 7-8. <a target=_blank rel="noopener noreferrer" href=https://conf.react.dev>Learn more</a>.</div></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top navbar--dark"><div class=navbar__inner><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/><div class=navbar__logo><img src=/img/header_logo.svg alt="React Native" class="themedComponent_siVc themedComponent--light_hHel"><img src=/img/header_logo.svg alt="React Native" class="themedComponent_siVc themedComponent--dark_yETr"></div><b class="navbar__title text--truncate">React Native</b></a><div class="navbar__item dropdown dropdown--hoverable"><a class=navbar__link aria-haspopup=true aria-expanded=false role=button href=/docs/linking>0.79</a><ul class=dropdown__menu><li><a class=dropdown__link href=/docs/next/linking>Next</a><li><a aria-current=page class="dropdown__link dropdown__link--active" href=/docs/linking>0.79</a><li><a class=dropdown__link href=/docs/0.78/linking>0.78</a><li><a class=dropdown__link href=/docs/0.77/linking>0.77</a><li><a class=dropdown__link href=/docs/0.76/linking>0.76</a><li><a class=dropdown__link href=/docs/0.75/linking>0.75</a><li><a class=dropdown__link href=/docs/0.74/linking>0.74</a><li><a class=dropdown__link href=/docs/0.73/linking>0.73</a><li><a class=dropdown__link href=/docs/0.72/linking>0.72</a><li><a class=dropdown__link href=/docs/0.71/linking>0.71</a><li><a class=dropdown__link href=/docs/0.70/linking>0.70</a><li><a class=dropdown__link href=/versions>All versions</a></ul></div></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href=# aria-haspopup=true aria-expanded=false role=button class=navbar__link>Development</a><ul class=dropdown__menu><li><a class=dropdown__link href=/docs/getting-started>Guides</a><li><a class=dropdown__link href=/docs/components-and-apis>Components</a><li><a aria-current=page class="dropdown__link dropdown__link--active" href=/docs/accessibilityinfo>APIs</a><li><a class=dropdown__link href=/architecture/overview>Architecture</a></ul></div><a class="navbar__item navbar__link" href=/contributing/overview>Contributing</a><a class="navbar__item navbar__link" href=/community/overview>Community</a><a class="navbar__item navbar__link" href=/showcase>Showcase</a><a class="navbar__item navbar__link" href=/blog>Blog</a><a href=https://github.com/facebook/react-native target=_blank rel="noopener noreferrer" class="navbar__item navbar__link navbar-github-link" aria-label="GitHub repository"></a><div class="toggle_ki11 colorModeToggle_Hewu"><button class="clean-btn toggleButton_MMFG toggleButtonDisabled_Uw7m darkNavbarColorModeToggle_m8pZ" type=button disabled title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_k9hJ lightToggleIcon_lgto"><path fill=currentColor d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_k9hJ darkToggleIcon_U96C"><path fill=currentColor d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_k9hJ systemToggleIcon_E5c0"><path fill=currentColor d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"/></svg></button></div><div class=navbarSearchContainer_bzqh><button type=button class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class=DocSearch-Button-Container><svg width=20 height=20 class=DocSearch-Search-Icon viewBox="0 0 20 20" aria-hidden=true><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke=currentColor fill=none fill-rule=evenodd stroke-linecap=round stroke-linejoin=round /></svg><span class=DocSearch-Button-Placeholder>Search</span></span><span class=DocSearch-Button-Keys></span></button></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="theme-layout-main main-wrapper mainWrapper_MB5r"><div class=docsWrapper__sE8><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_iEvu" type=button></button><div class=docRoot_DfVB><aside class="theme-doc-sidebar-container docSidebarContainer_c7NB"><div class=sidebarViewport_KYo0><div class=sidebar_CUen><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_jmj1 menuWithAnnouncementBar_YufC"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true href=/docs/accessibilityinfo>APIs</a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/accessibilityinfo>AccessibilityInfo</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/alert>Alert</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/animated>Animated</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/animatedvalue>Animated.Value</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/animatedvaluexy>Animated.ValueXY</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/appearance>Appearance</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/appregistry>AppRegistry</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/appstate>AppState</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/devsettings>DevSettings</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/dimensions>Dimensions</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/easing>Easing</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/interactionmanager>InteractionManager</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/keyboard>Keyboard</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/layoutanimation>LayoutAnimation</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/docs/linking>Linking</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/panresponder>PanResponder</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/pixelratio>PixelRatio</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/platform>Platform</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/platformcolor>PlatformColor</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/roottag>RootTag</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/share>Share</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/stylesheet>StyleSheet</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/systrace>Systrace</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/transforms>Transforms</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/vibration>Vibration</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true tabindex=0 href=/docs/usecolorscheme>Hooks</a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/usecolorscheme>useColorScheme</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/usewindowdimensions>useWindowDimensions</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true tabindex=0 href=/docs/backhandler>Android APIs</a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/backhandler>BackHandler</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/permissionsandroid>PermissionsAndroid</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/toastandroid>ToastAndroid</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=true tabindex=0 href=/docs/actionsheetios>iOS APIs</a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/actionsheetios>ActionSheetIOS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/dynamiccolorios>DynamicColorIOS</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/settings>Settings</a></ul></ul></ul></nav></div></div></aside><main class=docMainContainer_a9sJ><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_Qr34"><div class=docItemContainer_tjFy><article><div class="tocCollapsible_wXna theme-doc-toc-mobile tocMobile_Ojys"><button type=button class="clean-btn tocCollapsibleButton_iI2p">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Linking</h1></header><p><code>Linking</code> gives you a general interface to interact with both incoming and outgoing app links.</p> 5<p>Every Link (URL) has a URL Scheme, some websites are prefixed with <code>https://</code> or <code>http://</code> and the <code>http</code> is the URL Scheme. Let's call it scheme for short.</p> 6<p>In addition to <code>https</code>, you're likely also familiar with the <code>mailto</code> scheme. When you open a link with the mailto scheme, your operating system will open an installed mail application. Similarly, there are schemes for making phone calls and sending SMS. Read more about <a href=#built-in-url-schemes>built-in URL</a> schemes below.</p> 7<p>Like using the mailto scheme, it's possible to link to other applications by using custom url schemes. For example, when you get a <strong>Magic Link</strong> email from Slack, the <strong>Launch Slack</strong> button is an anchor tag with an href that looks something like: <code>slack://secret/magic-login/other-secret</code>. Like with Slack, you can tell the operating system that you want to handle a custom scheme. When the Slack app opens, it receives the URL that was used to open it. This is often referred to as deep linking. Read more about how to <a href=#get-the-deep-link>get the deep link</a> into your app.</p> 8<p>A custom URL scheme isn't the only way to open your application on mobile. For example, if you want to email someone a link to be opened on mobile, using a custom URL scheme isn't ideal because the user might open the email on a desktop, where the link wouldn't work. Instead, you should use standard <code>https</code> links, such as <code>https://www.myapp.io/records/1234546</code>. On mobile, these links can be configured to open your app. On Android, this feature is called <strong>Deep Links</strong>, while on iOS, it is known as <strong>Universal Links</strong>.</p> 9<h3 class="anchor anchorWithStickyNavbar_JmGV" id=built-in-url-schemes>Built-in URL Schemes<a href=#built-in-url-schemes class=hash-link aria-label="Direct link to Built-in URL Schemes" title="Direct link to Built-in URL Schemes"></a></h3> 10<p>As mentioned in the introduction, there are some URL schemes for core functionality that exist on every platform. The following is a non-exhaustive list, but covers the most commonly used schemes.</p> 11<table><thead><tr><th>Scheme<th>Description<th>iOS<th>Android<tbody><tr><td><code>mailto</code><td>Open mail app, eg: mailto: <a href=mailto:support@expo.io target=_blank rel="noopener noreferrer">support@expo.io</a><td><td><tr><td><code>tel</code><td>Open phone app, eg: tel:+123456789<td><td><tr><td><code>sms</code><td>Open SMS app, eg: sms:+123456789<td><td><tr><td><code>https</code> / <code>http</code><td>Open web browser app, eg: <a href=https://expo.io target=_blank rel="noopener noreferrer">https://expo.io</a><td><td></table> 12<h3 class="anchor anchorWithStickyNavbar_JmGV" id=enabling-deep-links>Enabling Deep Links<a href=#enabling-deep-links class=hash-link aria-label="Direct link to Enabling Deep Links" title="Direct link to Enabling Deep Links"></a></h3> 13<div class=banner-native-code-required><h3>Projects with Native Code Only</h3><p>The following section only applies to projects with native code exposed. If you are using the managed Expo workflow, see the guide on <a href=https://docs.expo.dev/guides/linking/>Linking</a> in the Expo documentation for the appropriate alternative.</div> 14<p>If you want to enable deep links in your app, please read the below guide:</p> 15<div class="tabs-container tabList_J5MA"><ul role=tablist aria-orientation=horizontal class=tabs><li role=tab tabindex=0 aria-selected=true class="tabs__item tabItem_l0OV tabs__item--active">Android<li role=tab tabindex=-1 aria-selected=false class="tabs__item tabItem_l0OV">iOS</ul><div class=margin-top--md><div role=tabpanel class=tabItem_wHwb><blockquote> 16<p>For instructions on how to add support for deep linking on Android, refer to <a href=https://developer.android.com/training/app-indexing/deep-linking.html#adding-filters target=_blank rel="noopener noreferrer">Enabling Deep Links for App Content - Add Intent Filters for Your Deep Links</a>.</p> 17</blockquote><p>If you wish to receive the intent in an existing instance of MainActivity, you may set the <code>launchMode</code> of MainActivity to <code>singleTask</code> in <code>AndroidManifest.xml</code>. See <a href=https://developer.android.com/guide/topics/manifest/activity-element.html target=_blank rel="noopener noreferrer"><code>&lt;activity></code></a> documentation for more information.<div class="language-xml codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>xml</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-xml codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token tag punctuation" style=color:#657b83>&lt;</span><span class="token tag" style=color:#fc929e>activity</span><span class="token tag" style=color:#fc929e></span><br></span><span class=token-line style=color:#FFFFFF><span class="token tag" style=color:#fc929e> </span><span class="token tag attr-name namespace" style=color:#c5a5c5;opacity:0.7>android:</span><span class="token tag attr-name" style=color:#c5a5c5>name</span><span class="token tag attr-value punctuation attr-equals" style=color:#657b83>=</span><span class="token tag attr-value punctuation" style=color:#657b83>"</span><span class="token tag attr-value" style=color:#8dc891>.MainActivity</span><span class="token tag attr-value punctuation" style=color:#657b83>"</span><span class="token tag" style=color:#fc929e></span><br></span><span class=token-line style=color:#FFFFFF><span class="token tag" style=color:#fc929e> </span><span class="token tag attr-name namespace" style=color:#c5a5c5;opacity:0.7>android:</span><span class="token tag attr-name" style=color:#c5a5c5>launchMode</span><span class="token tag attr-value punctuation attr-equals" style=color:#657b83>=</span><span class="token tag attr-value punctuation" style=color:#657b83>"</span><span class="token tag attr-value" style=color:#8dc891>singleTask</span><span class="token tag attr-value punctuation" style=color:#657b83>"</span><span class="token tag punctuation" style=color:#657b83>></span><br></span></code></pre></div></div></div><div role=tabpanel class=tabItem_wHwb hidden><blockquote> 18<p><strong>NOTE:</strong> On iOS, you'll need to add the <code>LinkingIOS</code> folder into your header search paths as described in step 3 <a href=/docs/linking-libraries-ios#step-3>here</a>. If you also want to listen to incoming app links during your app's execution, you'll need to add the following lines to your <code>*AppDelegate.m</code>:</p> 19</blockquote><div class="tabs-container tabList_J5MA"><ul role=tablist aria-orientation=horizontal class=tabs><li role=tab tabindex=0 aria-selected=true class="tabs__item tabItem_l0OV tabs__item--active">ObjectiveC<li role=tab tabindex=-1 aria-selected=false class="tabs__item tabItem_l0OV">Swift</ul><div class=margin-top--md><div role=tabpanel class=tabItem_wHwb><div class="language-objc codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>AppDelegate.mm</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-objc codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token comment" style=color:#93a1a1>// iOS 9.x or newer</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token macro property directive-hash" style=color:#2aa198>#</span><span class="token macro property directive keyword" style=color:#c5a5c5>import</span><span class="token macro property" style=color:#2aa198> </span><span class="token macro property expression operator" style=color:#fc929e>&lt;</span><span class="token macro property expression" style=color:#2aa198>React</span><span class="token macro property expression operator" style=color:#fc929e>/</span><span class="token macro property expression" style=color:#2aa198>RCTLinkingManager</span><span class="token macro property expression punctuation" style=color:#657b83>.</span><span class="token macro property expression" style=color:#2aa198>h</span><span class="token macro property expression operator" style=color:#fc929e>></span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token operator" style=color:#fc929e>-</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">BOOL</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain">application</span><span class="token punctuation" style=color:#657b83>:</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">UIApplication </span><span class="token operator" style=color:#fc929e>*</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain">application</span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> openURL</span><span class="token punctuation" style=color:#657b83>:</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">NSURL </span><span class="token operator" style=color:#fc929e>*</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain">url</span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> options</span><span class="token punctuation" style=color:#657b83>:</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">NSDictionary</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token plain">UIApplicationOpenURLOptionsKey</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain">id</span><span class="token operator" style=color:#fc929e>></span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>*</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain">options</span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token punctuation" style=color:#657b83>{</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>return</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>[</span><span class="token plain">RCTLinkingManager application</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain">application openURL</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain">url options</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain">options</span><span class="token punctuation" style=color:#657b83>]</span><span class="token punctuation" style=color:#657b83>;</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token punctuation" style=color:#657b83>}</span><br></span></code></pre></div></div><p>If your app is using <a href=https://developer.apple.com/ios/universal-links/ target=_blank rel="noopener noreferrer">Universal Links</a>, you'll need to add the following code as well:<div class="language-objc codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>AppDelegate.mm</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-objc codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token operator" style=color:#fc929e>-</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">BOOL</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain">application</span><span class="token punctuation" style=color:#657b83>:</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">UIApplication </span><span class="token operator" style=color:#fc929e>*</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain">application continueUserActivity</span><span class="token punctuation" style=color:#657b83>:</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">nonnull NSUserActivity </span><span class="token operator" style=color:#fc929e>*</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain">userActivity</span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> restorationHandler</span><span class="token punctuation" style=color:#657b83>:</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">nonnull </span><span class="token keyword" style=color:#c5a5c5>void</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>(</span><span class="token operator" style=color:#fc929e>^</span><span class="token punctuation" style=color:#657b83>)</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">NSArray</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token plain">id</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token plain">UIUserActivityRestoring</span><span class="token operator" style=color:#fc929e>>></span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>*</span><span class="token plain"> _Nullable</span><span class="token punctuation" style=color:#657b83>)</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain">restorationHandler</span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token punctuation" style=color:#657b83>{</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>return</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>[</span><span class="token plain">RCTLinkingManager application</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain">application</span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> continueUserActivity</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain">userActivity</span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> restorationHandler</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain">restorationHandler</span><span class="token punctuation" style=color:#657b83>]</span><span class="token punctuation" style=color:#657b83>;</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token punctuation" style=color:#657b83>}</span><br></span></code></pre></div></div></div><div role=tabpanel class=tabItem_wHwb hidden><div class="language-swift codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>AppDelegate.swift</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-swift codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token keyword" style=color:#c5a5c5>func</span><span class="token plain"> </span><span class="token function-definition function" style=color:#79b6f2>application</span><span class="token punctuation" style=color:#657b83>(</span><span class="token omit keyword" style=color:#c5a5c5>_</span><span class="token plain"> app</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> </span><span class="token class-name" style=color:#fac863>UIApplication</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>open</span><span class="token plain"> url</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> </span><span class="token constant" style=color:#5a9bcf>URL</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"> options</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>[</span><span class="token class-name" style=color:#fac863>UIApplication</span><span class="token punctuation" style=color:#657b83>.</span><span class="token class-name" style=color:#fac863>OpenURLOptionsKey</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>Any</span><span class="token punctuation" style=color:#657b83>]</span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>=</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>[</span><span class="token punctuation" style=color:#657b83>:</span><span class="token punctuation" style=color:#657b83>]</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>-></span><span class="token plain"> </span><span class="token class-name" style=color:#fac863>Bool</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>{</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>return</span><span class="token plain"> </span><span class="token class-name" style=color:#fac863>RCTLinkingManager</span><span class="token punctuation" style=color:#657b83>.</span><span class="token function" style=color:#79b6f2>application</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">app</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>open</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> url</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"> options</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> options</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token punctuation" style=color:#657b83>}</span><br></span></code></pre></div></div><p>If your app is using <a href=https://developer.apple.com/ios/universal-links/ target=_blank rel="noopener noreferrer">Universal Links</a>, you'll need to add the following code as well:<div class="language-swift codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>AppDelegate.swift</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-swift codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token keyword" style=color:#c5a5c5>func</span><span class="token plain"> </span><span class="token function-definition function" style=color:#79b6f2>application</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token omit keyword" style=color:#c5a5c5>_</span><span class="token plain"> application</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> </span><span class="token class-name" style=color:#fac863>UIApplication</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>continue</span><span class="token label important" style=color:#cb4b16;font-weight:bold> userActivity</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> </span><span class="token class-name" style=color:#fac863>NSUserActivity</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> restorationHandler</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> </span><span class="token attribute atrule" style=color:#859900>@escaping</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>(</span><span class="token punctuation" style=color:#657b83>[</span><span class="token class-name" style=color:#fac863>UIUserActivityRestoring</span><span class="token punctuation" style=color:#657b83>]</span><span class="token operator" style=color:#fc929e>?</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>-></span><span class="token plain"> </span><span class="token class-name" style=color:#fac863>Void</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>-></span><span class="token plain"> </span><span class="token class-name" style=color:#fac863>Bool</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>{</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>return</span><span class="token plain"> </span><span class="token class-name" style=color:#fac863>RCTLinkingManager</span><span class="token punctuation" style=color:#657b83>.</span><span class="token function" style=color:#79b6f2>application</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> application</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>continue</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> userActivity</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> restorationHandler</span><span class="token punctuation" style=color:#657b83>:</span><span class="token plain"> restorationHandler</span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>}</span><br></span></code></pre></div></div></div></div></div></div></div></div> 20<h3 class="anchor anchorWithStickyNavbar_JmGV" id=handling-deep-links>Handling Deep Links<a href=#handling-deep-links class=hash-link aria-label="Direct link to Handling Deep Links" title="Direct link to Handling Deep Links"></a></h3> 21<p>There are two ways to handle URLs that open your app.</p> 22<h4 class="anchor anchorWithStickyNavbar_JmGV" id=1-if-the-app-is-already-open-the-app-is-foregrounded-and-a-linking-url-event-is-fired>1. If the app is already open, the app is foregrounded and a Linking 'url' event is fired<a href=#1-if-the-app-is-already-open-the-app-is-foregrounded-and-a-linking-url-event-is-fired class=hash-link aria-label="Direct link to 1. If the app is already open, the app is foregrounded and a Linking 'url' event is fired" title="Direct link to 1. If the app is already open, the app is foregrounded and a Linking 'url' event is fired"></a></h4> 23<p>You can handle these events with <code>Linking.addEventListener('url', callback)</code> - it calls <code>callback({url})</code> with the linked URL</p> 24<h4 class="anchor anchorWithStickyNavbar_JmGV" id=2-if-the-app-is-not-already-open-it-is-opened-and-the-url-is-passed-in-as-the-initialurl>2. If the app is not already open, it is opened and the url is passed in as the initialURL<a href=#2-if-the-app-is-not-already-open-it-is-opened-and-the-url-is-passed-in-as-the-initialurl class=hash-link aria-label="Direct link to 2. If the app is not already open, it is opened and the url is passed in as the initialURL" title="Direct link to 2. If the app is not already open, it is opened and the url is passed in as the initialURL"></a></h4> 25<p>You can handle these events with <code>Linking.getInitialURL()</code> - it returns a Promise that resolves to the URL, if there is one.</p> 26<hr> 27<h2 class="anchor anchorWithStickyNavbar_JmGV" id=example>Example<a href=#example class=hash-link aria-label="Direct link to Example" title="Direct link to Example"></a></h2> 28<h3 class="anchor anchorWithStickyNavbar_JmGV" id=open-links-and-deep-links-universal-links>Open Links and Deep Links (Universal Links)<a href=#open-links-and-deep-links-universal-links class=hash-link aria-label="Direct link to Open Links and Deep Links (Universal Links)" title="Direct link to Open Links and Deep Links (Universal Links)"></a></h3> 29<div class="tabs-container tabList_J5MA"><ul role=tablist aria-orientation=horizontal class=tabs><li role=tab tabindex=0 aria-selected=true class="tabs__item tabItem_l0OV tabs__item--active">TypeScript<li role=tab tabindex=-1 aria-selected=false class="tabs__item tabItem_l0OV">JavaScript</ul><div class=margin-top--md><div role=tabpanel class=tabItem_wHwb hidden><div class=snack-player data-snack-name="Linking Example" data-snack-description="Example usage" data-snack-files="%7B%22App.js%22%3A%7B%22type%22%3A%22CODE%22%2C%22contents%22%3A%22import%20React%2C%20%7BuseCallback%7D%20from%20'react'%3B%5Cnimport%20%7BAlert%2C%20Button%2C%20Linking%2C%20StyleSheet%2C%20View%7D%20from%20'react-native'%3B%5Cn%5Cnconst%20supportedURL%20%3D%20'https%3A%2F%2Fgoogle.com'%3B%5Cn%5Cnconst%20unsupportedURL%20%3D%20'slack%3A%2F%2Fopen%3Fteam%3D123456'%3B%5Cn%5Cnconst%20OpenURLButton%20%3D%20(%7Burl%2C%20children%7D)%20%3D%3E%20%7B%5Cn%20%20const%20handlePress%20%3D%20useCallback(async%20()%20%3D%3E%20%7B%5Cn%20%20%20%20%2F%2F%20Checking%20if%20the%20link%20is%20supported%20for%20links%20with%20custom%20URL%20scheme.%5Cn%20%20%20%20const%20supported%20%3D%20await%20Linking.canOpenURL(url)%3B%5Cn%5Cn%20%20%20%20if%20(supported)%20%7B%5Cn%20%20%20%20%20%20%2F%2F%20Opening%20the%20link%20with%20some%20app%2C%20if%20the%20URL%20scheme%20is%20%5C%22http%5C%22%20the%20web%20link%20should%20be%20opened%5Cn%20%20%20%20%20%20%2F%2F%20by%20some%20browser%20in%20the%20mobile%5Cn%20%20%20%20%20%20await%20Linking.openURL(url)%3B%5Cn%20%20%20%20%7D%20else%20%7B%5Cn%20%20%20%20%20%20Alert.alert(%60Don't%20know%20how%20to%20open%20this%20URL%3A%20%24%7Burl%7D%60)%3B%5Cn%20%20%20%20%7D%5Cn%20%20%7D%2C%20%5Burl%5D)%3B%5Cn%5Cn%20%20return%20%3CButton%20title%3D%7Bchildren%7D%20onPress%3D%7BhandlePress%7D%20%2F%3E%3B%5Cn%7D%3B%5Cn%5Cnconst%20App%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20return%20(%5Cn%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%5Cn%20%20%20%20%20%20%3COpenURLButton%20url%3D%7BsupportedURL%7D%3EOpen%20Supported%20URL%3C%2FOpenURLButton%3E%5Cn%20%20%20%20%20%20%3COpenURLButton%20url%3D%7BunsupportedURL%7D%3EOpen%20Unsupported%20URL%3C%2FOpenURLButton%3E%5Cn%20%20%20%20%3C%2FView%3E%5Cn%20%20)%3B%5Cn%7D%3B%5Cn%5Cnconst%20styles%20%3D%20StyleSheet.create(%7B%5Cn%20%20container%3A%20%7B%5Cn%20%20%20%20flex%3A%201%2C%5Cn%20%20%20%20justifyContent%3A%20'center'%2C%5Cn%20%20%20%20alignItems%3A%20'center'%2C%5Cn%20%20%7D%2C%5Cn%7D)%3B%5Cn%5Cnexport%20default%20App%3B%22%7D%7D" data-snack-dependencies=react-native-safe-area-context data-snack-platform=web data-snack-supported-platforms=ios,android data-snack-theme=light data-snack-preview=true data-snack-loading=lazy data-snack-device-frame=false></div></div><div role=tabpanel class=tabItem_wHwb><div class=snack-player data-snack-name="Linking Example" data-snack-description="Example usage" data-snack-files="%7B%22App.tsx%22%3A%7B%22type%22%3A%22CODE%22%2C%22contents%22%3A%22import%20React%2C%20%7BuseCallback%7D%20from%20'react'%3B%5Cnimport%20%7BAlert%2C%20Button%2C%20Linking%2C%20StyleSheet%2C%20View%7D%20from%20'react-native'%3B%5Cn%5Cnconst%20supportedURL%20%3D%20'https%3A%2F%2Fgoogle.com'%3B%5Cn%5Cnconst%20unsupportedURL%20%3D%20'slack%3A%2F%2Fopen%3Fteam%3D123456'%3B%5Cn%5Cntype%20OpenURLButtonProps%20%3D%20%7B%5Cn%20%20url%3A%20string%3B%5Cn%20%20children%3A%20string%3B%5Cn%7D%3B%5Cn%5Cnconst%20OpenURLButton%20%3D%20(%7Burl%2C%20children%7D%3A%20OpenURLButtonProps)%20%3D%3E%20%7B%5Cn%20%20const%20handlePress%20%3D%20useCallback(async%20()%20%3D%3E%20%7B%5Cn%20%20%20%20%2F%2F%20Checking%20if%20the%20link%20is%20supported%20for%20links%20with%20custom%20URL%20scheme.%5Cn%20%20%20%20const%20supported%20%3D%20await%20Linking.canOpenURL(url)%3B%5Cn%5Cn%20%20%20%20if%20(supported)%20%7B%5Cn%20%20%20%20%20%20%2F%2F%20Opening%20the%20link%20with%20some%20app%2C%20if%20the%20URL%20scheme%20is%20%5C%22http%5C%22%20the%20web%20link%20should%20be%20opened%5Cn%20%20%20%20%20%20%2F%2F%20by%20some%20browser%20in%20the%20mobile%5Cn%20%20%20%20%20%20await%20Linking.openURL(url)%3B%5Cn%20%20%20%20%7D%20else%20%7B%5Cn%20%20%20%20%20%20Alert.alert(%60Don't%20know%20how%20to%20open%20this%20URL%3A%20%24%7Burl%7D%60)%3B%5Cn%20%20%20%20%7D%5Cn%20%20%7D%2C%20%5Burl%5D)%3B%5Cn%5Cn%20%20return%20%3CButton%20title%3D%7Bchildren%7D%20onPress%3D%7BhandlePress%7D%20%2F%3E%3B%5Cn%7D%3B%5Cn%5Cnconst%20App%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20return%20(%5Cn%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%5Cn%20%20%20%20%20%20%3COpenURLButton%20url%3D%7BsupportedURL%7D%3EOpen%20Supported%20URL%3C%2FOpenURLButton%3E%5Cn%20%20%20%20%20%20%3COpenURLButton%20url%3D%7BunsupportedURL%7D%3EOpen%20Unsupported%20URL%3C%2FOpenURLButton%3E%5Cn%20%20%20%20%3C%2FView%3E%5Cn%20%20)%3B%5Cn%7D%3B%5Cn%5Cnconst%20styles%20%3D%20StyleSheet.create(%7B%5Cn%20%20container%3A%20%7B%5Cn%20%20%20%20flex%3A%201%2C%5Cn%20%20%20%20justifyContent%3A%20'center'%2C%5Cn%20%20%20%20alignItems%3A%20'center'%2C%5Cn%20%20%7D%2C%5Cn%7D)%3B%5Cn%5Cnexport%20default%20App%3B%22%7D%7D" data-snack-dependencies=react-native-safe-area-context data-snack-platform=web data-snack-supported-platforms=ios,android data-snack-theme=light data-snack-preview=true data-snack-loading=lazy data-snack-device-frame=false></div></div></div></div> 30<h3 class="anchor anchorWithStickyNavbar_JmGV" id=open-custom-settings>Open Custom Settings<a href=#open-custom-settings class=hash-link aria-label="Direct link to Open Custom Settings" title="Direct link to Open Custom Settings"></a></h3> 31<div class="tabs-container tabList_J5MA"><ul role=tablist aria-orientation=horizontal class=tabs><li role=tab tabindex=0 aria-selected=true class="tabs__item tabItem_l0OV tabs__item--active">TypeScript<li role=tab tabindex=-1 aria-selected=false class="tabs__item tabItem_l0OV">JavaScript</ul><div class=margin-top--md><div role=tabpanel class=tabItem_wHwb hidden><div class=snack-player data-snack-name="Linking Example" data-snack-description="Example usage" data-snack-files="%7B%22App.js%22%3A%7B%22type%22%3A%22CODE%22%2C%22contents%22%3A%22import%20React%2C%20%7BuseCallback%7D%20from%20'react'%3B%5Cnimport%20%7BButton%2C%20Linking%2C%20StyleSheet%2C%20View%7D%20from%20'react-native'%3B%5Cn%5Cnconst%20OpenSettingsButton%20%3D%20(%7Bchildren%7D)%20%3D%3E%20%7B%5Cn%20%20const%20handlePress%20%3D%20useCallback(async%20()%20%3D%3E%20%7B%5Cn%20%20%20%20%2F%2F%20Open%20the%20custom%20settings%20if%20the%20app%20has%20one%5Cn%20%20%20%20await%20Linking.openSettings()%3B%5Cn%20%20%7D%2C%20%5B%5D)%3B%5Cn%5Cn%20%20return%20%3CButton%20title%3D%7Bchildren%7D%20onPress%3D%7BhandlePress%7D%20%2F%3E%3B%5Cn%7D%3B%5Cn%5Cnconst%20App%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20return%20(%5Cn%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%5Cn%20%20%20%20%20%20%3COpenSettingsButton%3EOpen%20Settings%3C%2FOpenSettingsButton%3E%5Cn%20%20%20%20%3C%2FView%3E%5Cn%20%20)%3B%5Cn%7D%3B%5Cn%5Cnconst%20styles%20%3D%20StyleSheet.create(%7B%5Cn%20%20container%3A%20%7B%5Cn%20%20%20%20flex%3A%201%2C%5Cn%20%20%20%20justifyContent%3A%20'center'%2C%5Cn%20%20%20%20alignItems%3A%20'center'%2C%5Cn%20%20%7D%2C%5Cn%7D)%3B%5Cn%5Cnexport%20default%20App%3B%22%7D%7D" data-snack-dependencies=react-native-safe-area-context data-snack-platform=web data-snack-supported-platforms=ios,android data-snack-theme=light data-snack-preview=true data-snack-loading=lazy data-snack-device-frame=false></div></div><div role=tabpanel class=tabItem_wHwb><div class=snack-player data-snack-name="Linking Example" data-snack-description="Example usage" data-snack-files="%7B%22App.tsx%22%3A%7B%22type%22%3A%22CODE%22%2C%22contents%22%3A%22import%20React%2C%20%7BuseCallback%7D%20from%20'react'%3B%5Cnimport%20%7BButton%2C%20Linking%2C%20StyleSheet%2C%20View%7D%20from%20'react-native'%3B%5Cn%5Cntype%20OpenSettingsButtonProps%20%3D%20%7B%5Cn%20%20children%3A%20string%3B%5Cn%7D%3B%5Cn%5Cnconst%20OpenSettingsButton%20%3D%20(%7Bchildren%7D%3A%20OpenSettingsButtonProps)%20%3D%3E%20%7B%5Cn%20%20const%20handlePress%20%3D%20useCallback(async%20()%20%3D%3E%20%7B%5Cn%20%20%20%20%2F%2F%20Open%20the%20custom%20settings%20if%20the%20app%20has%20one%5Cn%20%20%20%20await%20Linking.openSettings()%3B%5Cn%20%20%7D%2C%20%5B%5D)%3B%5Cn%5Cn%20%20return%20%3CButton%20title%3D%7Bchildren%7D%20onPress%3D%7BhandlePress%7D%20%2F%3E%3B%5Cn%7D%3B%5Cn%5Cnconst%20App%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20return%20(%5Cn%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%5Cn%20%20%20%20%20%20%3COpenSettingsButton%3EOpen%20Settings%3C%2FOpenSettingsButton%3E%5Cn%20%20%20%20%3C%2FView%3E%5Cn%20%20)%3B%5Cn%7D%3B%5Cn%5Cnconst%20styles%20%3D%20StyleSheet.create(%7B%5Cn%20%20container%3A%20%7B%5Cn%20%20%20%20flex%3A%201%2C%5Cn%20%20%20%20justifyContent%3A%20'center'%2C%5Cn%20%20%20%20alignItems%3A%20'center'%2C%5Cn%20%20%7D%2C%5Cn%7D)%3B%5Cn%5Cnexport%20default%20App%3B%22%7D%7D" data-snack-dependencies=react-native-safe-area-context data-snack-platform=web data-snack-supported-platforms=ios,android data-snack-theme=light data-snack-preview=true data-snack-loading=lazy data-snack-device-frame=false></div></div></div></div> 32<h3 class="anchor anchorWithStickyNavbar_JmGV" id=get-the-deep-link>Get the Deep Link<a href=#get-the-deep-link class=hash-link aria-label="Direct link to Get the Deep Link" title="Direct link to Get the Deep Link"></a></h3> 33<div class="tabs-container tabList_J5MA"><ul role=tablist aria-orientation=horizontal class=tabs><li role=tab tabindex=0 aria-selected=true class="tabs__item tabItem_l0OV tabs__item--active">TypeScript<li role=tab tabindex=-1 aria-selected=false class="tabs__item tabItem_l0OV">JavaScript</ul><div class=margin-top--md><div role=tabpanel class=tabItem_wHwb hidden><div class=snack-player data-snack-name="Linking Example" data-snack-description="Example usage" data-snack-files="%7B%22App.js%22%3A%7B%22type%22%3A%22CODE%22%2C%22contents%22%3A%22import%20React%2C%20%7BuseState%2C%20useEffect%7D%20from%20'react'%3B%5Cnimport%20%7BLinking%2C%20StyleSheet%2C%20Text%2C%20View%7D%20from%20'react-native'%3B%5Cn%5Cnconst%20useInitialURL%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20const%20%5Burl%2C%20setUrl%5D%20%3D%20useState(null)%3B%5Cn%20%20const%20%5Bprocessing%2C%20setProcessing%5D%20%3D%20useState(true)%3B%5Cn%5Cn%20%20useEffect(()%20%3D%3E%20%7B%5Cn%20%20%20%20const%20getUrlAsync%20%3D%20async%20()%20%3D%3E%20%7B%5Cn%20%20%20%20%20%20%2F%2F%20Get%20the%20deep%20link%20used%20to%20open%20the%20app%5Cn%20%20%20%20%20%20const%20initialUrl%20%3D%20await%20Linking.getInitialURL()%3B%5Cn%5Cn%20%20%20%20%20%20%2F%2F%20The%20setTimeout%20is%20just%20for%20testing%20purpose%5Cn%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%5Cn%20%20%20%20%20%20%20%20setUrl(initialUrl)%3B%5Cn%20%20%20%20%20%20%20%20setProcessing(false)%3B%5Cn%20%20%20%20%20%20%7D%2C%201000)%3B%5Cn%20%20%20%20%7D%3B%5Cn%5Cn%20%20%20%20getUrlAsync()%3B%5Cn%20%20%7D%2C%20%5B%5D)%3B%5Cn%5Cn%20%20return%20%7Burl%2C%20processing%7D%3B%5Cn%7D%3B%5Cn%5Cnconst%20App%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20const%20%7Burl%3A%20initialUrl%2C%20processing%7D%20%3D%20useInitialURL()%3B%5Cn%5Cn%20%20return%20(%5Cn%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%5Cn%20%20%20%20%20%20%3CText%3E%5Cn%20%20%20%20%20%20%20%20%7Bprocessing%5Cn%20%20%20%20%20%20%20%20%20%20%3F%20'Processing%20the%20initial%20url%20from%20a%20deep%20link'%5Cn%20%20%20%20%20%20%20%20%20%20%3A%20%60The%20deep%20link%20is%3A%20%24%7BinitialUrl%20%7C%7C%20'None'%7D%60%7D%5Cn%20%20%20%20%20%20%3C%2FText%3E%5Cn%20%20%20%20%3C%2FView%3E%5Cn%20%20)%3B%5Cn%7D%3B%5Cn%5Cnconst%20styles%20%3D%20StyleSheet.create(%7B%5Cn%20%20container%3A%20%7B%5Cn%20%20%20%20flex%3A%201%2C%5Cn%20%20%20%20justifyContent%3A%20'center'%2C%5Cn%20%20%20%20alignItems%3A%20'center'%2C%5Cn%20%20%7D%2C%5Cn%7D)%3B%5Cn%5Cnexport%20default%20App%3B%22%7D%7D" data-snack-dependencies=react-native-safe-area-context data-snack-platform=web data-snack-supported-platforms=ios,android data-snack-theme=light data-snack-preview=true data-snack-loading=lazy data-snack-device-frame=false></div></div><div role=tabpanel class=tabItem_wHwb><div class=snack-player data-snack-name="Linking Example" data-snack-description="Example usage" data-snack-files="%7B%22App.tsx%22%3A%7B%22type%22%3A%22CODE%22%2C%22contents%22%3A%22import%20React%2C%20%7BuseState%2C%20useEffect%7D%20from%20'react'%3B%5Cnimport%20%7BLinking%2C%20StyleSheet%2C%20Text%2C%20View%7D%20from%20'react-native'%3B%5Cn%5Cnconst%20useInitialURL%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20const%20%5Burl%2C%20setUrl%5D%20%3D%20useState%3Cstring%20%7C%20null%3E(null)%3B%5Cn%20%20const%20%5Bprocessing%2C%20setProcessing%5D%20%3D%20useState(true)%3B%5Cn%5Cn%20%20useEffect(()%20%3D%3E%20%7B%5Cn%20%20%20%20const%20getUrlAsync%20%3D%20async%20()%20%3D%3E%20%7B%5Cn%20%20%20%20%20%20%2F%2F%20Get%20the%20deep%20link%20used%20to%20open%20the%20app%5Cn%20%20%20%20%20%20const%20initialUrl%20%3D%20await%20Linking.getInitialURL()%3B%5Cn%5Cn%20%20%20%20%20%20%2F%2F%20The%20setTimeout%20is%20just%20for%20testing%20purpose%5Cn%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%5Cn%20%20%20%20%20%20%20%20setUrl(initialUrl)%3B%5Cn%20%20%20%20%20%20%20%20setProcessing(false)%3B%5Cn%20%20%20%20%20%20%7D%2C%201000)%3B%5Cn%20%20%20%20%7D%3B%5Cn%5Cn%20%20%20%20getUrlAsync()%3B%5Cn%20%20%7D%2C%20%5B%5D)%3B%5Cn%5Cn%20%20return%20%7Burl%2C%20processing%7D%3B%5Cn%7D%3B%5Cn%5Cnconst%20App%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20const%20%7Burl%3A%20initialUrl%2C%20processing%7D%20%3D%20useInitialURL()%3B%5Cn%5Cn%20%20return%20(%5Cn%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%5Cn%20%20%20%20%20%20%3CText%3E%5Cn%20%20%20%20%20%20%20%20%7Bprocessing%5Cn%20%20%20%20%20%20%20%20%20%20%3F%20'Processing%20the%20initial%20url%20from%20a%20deep%20link'%5Cn%20%20%20%20%20%20%20%20%20%20%3A%20%60The%20deep%20link%20is%3A%20%24%7BinitialUrl%20%7C%7C%20'None'%7D%60%7D%5Cn%20%20%20%20%20%20%3C%2FText%3E%5Cn%20%20%20%20%3C%2FView%3E%5Cn%20%20)%3B%5Cn%7D%3B%5Cn%5Cnconst%20styles%20%3D%20StyleSheet.create(%7B%5Cn%20%20container%3A%20%7B%5Cn%20%20%20%20flex%3A%201%2C%5Cn%20%20%20%20justifyContent%3A%20'center'%2C%5Cn%20%20%20%20alignItems%3A%20'center'%2C%5Cn%20%20%7D%2C%5Cn%7D)%3B%5Cn%5Cnexport%20default%20App%3B%22%7D%7D" data-snack-dependencies=react-native-safe-area-context data-snack-platform=web data-snack-supported-platforms=ios,android data-snack-theme=light data-snack-preview=true data-snack-loading=lazy data-snack-device-frame=false></div></div></div></div> 34<h3 class="anchor anchorWithStickyNavbar_JmGV" id=send-intents-android>Send Intents (Android)<a href=#send-intents-android class=hash-link aria-label="Direct link to Send Intents (Android)" title="Direct link to Send Intents (Android)"></a></h3> 35<div class="tabs-container tabList_J5MA"><ul role=tablist aria-orientation=horizontal class=tabs><li role=tab tabindex=0 aria-selected=true class="tabs__item tabItem_l0OV tabs__item--active">TypeScript<li role=tab tabindex=-1 aria-selected=false class="tabs__item tabItem_l0OV">JavaScript</ul><div class=margin-top--md><div role=tabpanel class=tabItem_wHwb hidden><div class=snack-player data-snack-name="Linking Example" data-snack-description="Example usage" data-snack-files="%7B%22App.js%22%3A%7B%22type%22%3A%22CODE%22%2C%22contents%22%3A%22import%20React%2C%20%7BuseCallback%7D%20from%20'react'%3B%5Cnimport%20%7BAlert%2C%20Button%2C%20Linking%2C%20StyleSheet%2C%20View%7D%20from%20'react-native'%3B%5Cn%5Cnconst%20SendIntentButton%20%3D%20(%7Baction%2C%20extras%2C%20children%7D)%20%3D%3E%20%7B%5Cn%20%20const%20handlePress%20%3D%20useCallback(async%20()%20%3D%3E%20%7B%5Cn%20%20%20%20try%20%7B%5Cn%20%20%20%20%20%20await%20Linking.sendIntent(action%2C%20extras)%3B%5Cn%20%20%20%20%7D%20catch%20(e)%20%7B%5Cn%20%20%20%20%20%20Alert.alert(e.message)%3B%5Cn%20%20%20%20%7D%5Cn%20%20%7D%2C%20%5Baction%2C%20extras%5D)%3B%5Cn%5Cn%20%20return%20%3CButton%20title%3D%7Bchildren%7D%20onPress%3D%7BhandlePress%7D%20%2F%3E%3B%5Cn%7D%3B%5Cn%5Cnconst%20App%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20return%20(%5Cn%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%5Cn%20%20%20%20%20%20%3CSendIntentButton%20action%3D%5C%22android.intent.action.POWER_USAGE_SUMMARY%5C%22%3E%5Cn%20%20%20%20%20%20%20%20Power%20Usage%20Summary%5Cn%20%20%20%20%20%20%3C%2FSendIntentButton%3E%5Cn%20%20%20%20%20%20%3CSendIntentButton%5Cn%20%20%20%20%20%20%20%20action%3D%5C%22android.settings.APP_NOTIFICATION_SETTINGS%5C%22%5Cn%20%20%20%20%20%20%20%20extras%3D%7B%5B%5Cn%20%20%20%20%20%20%20%20%20%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20key%3A%20'android.provider.extra.APP_PACKAGE'%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20'com.facebook.katana'%2C%5Cn%20%20%20%20%20%20%20%20%20%20%7D%2C%5Cn%20%20%20%20%20%20%20%20%5D%7D%3E%5Cn%20%20%20%20%20%20%20%20App%20Notification%20Settings%5Cn%20%20%20%20%20%20%3C%2FSendIntentButton%3E%5Cn%20%20%20%20%3C%2FView%3E%5Cn%20%20)%3B%5Cn%7D%3B%5Cn%5Cnconst%20styles%20%3D%20StyleSheet.create(%7B%5Cn%20%20container%3A%20%7B%5Cn%20%20%20%20flex%3A%201%2C%5Cn%20%20%20%20justifyContent%3A%20'center'%2C%5Cn%20%20%20%20alignItems%3A%20'center'%2C%5Cn%20%20%7D%2C%5Cn%7D)%3B%5Cn%5Cnexport%20default%20App%3B%22%7D%7D" data-snack-dependencies=react-native-safe-area-context data-snack-platform=web data-snack-supported-platforms=android data-snack-theme=light data-snack-preview=true data-snack-loading=lazy data-snack-device-frame=false></div></div><div role=tabpanel class=tabItem_wHwb><div class=snack-player data-snack-name="Linking Example" data-snack-description="Example usage" data-snack-files="%7B%22App.tsx%22%3A%7B%22type%22%3A%22CODE%22%2C%22contents%22%3A%22import%20React%2C%20%7BuseCallback%7D%20from%20'react'%3B%5Cnimport%20%7BAlert%2C%20Button%2C%20Linking%2C%20StyleSheet%2C%20View%7D%20from%20'react-native'%3B%5Cn%5Cntype%20SendIntentButtonProps%20%3D%20%7B%5Cn%20%20action%3A%20string%3B%5Cn%20%20children%3A%20string%3B%5Cn%20%20extras%3F%3A%20Array%3C%7B%5Cn%20%20%20%20key%3A%20string%3B%5Cn%20%20%20%20value%3A%20string%20%7C%20number%20%7C%20boolean%3B%5Cn%20%20%7D%3E%3B%5Cn%7D%3B%5Cn%5Cnconst%20SendIntentButton%20%3D%20(%7B%5Cn%20%20action%2C%5Cn%20%20extras%2C%5Cn%20%20children%2C%5Cn%7D%3A%20SendIntentButtonProps)%20%3D%3E%20%7B%5Cn%20%20const%20handlePress%20%3D%20useCallback(async%20()%20%3D%3E%20%7B%5Cn%20%20%20%20try%20%7B%5Cn%20%20%20%20%20%20await%20Linking.sendIntent(action%2C%20extras)%3B%5Cn%20%20%20%20%7D%20catch%20(e%3A%20any)%20%7B%5Cn%20%20%20%20%20%20Alert.alert(e.message)%3B%5Cn%20%20%20%20%7D%5Cn%20%20%7D%2C%20%5Baction%2C%20extras%5D)%3B%5Cn%5Cn%20%20return%20%3CButton%20title%3D%7Bchildren%7D%20onPress%3D%7BhandlePress%7D%20%2F%3E%3B%5Cn%7D%3B%5Cn%5Cnconst%20App%20%3D%20()%20%3D%3E%20%7B%5Cn%20%20return%20(%5Cn%20%20%20%20%3CView%20style%3D%7Bstyles.container%7D%3E%5Cn%20%20%20%20%20%20%3CSendIntentButton%20action%3D%5C%22android.intent.action.POWER_USAGE_SUMMARY%5C%22%3E%5Cn%20%20%20%20%20%20%20%20Power%20Usage%20Summary%5Cn%20%20%20%20%20%20%3C%2FSendIntentButton%3E%5Cn%20%20%20%20%20%20%3CSendIntentButton%5Cn%20%20%20%20%20%20%20%20action%3D%5C%22android.settings.APP_NOTIFICATION_SETTINGS%5C%22%5Cn%20%20%20%20%20%20%20%20extras%3D%7B%5B%5Cn%20%20%20%20%20%20%20%20%20%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20key%3A%20'android.provider.extra.APP_PACKAGE'%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20'com.facebook.katana'%2C%5Cn%20%20%20%20%20%20%20%20%20%20%7D%2C%5Cn%20%20%20%20%20%20%20%20%5D%7D%3E%5Cn%20%20%20%20%20%20%20%20App%20Notification%20Settings%5Cn%20%20%20%20%20%20%3C%2FSendIntentButton%3E%5Cn%20%20%20%20%3C%2FView%3E%5Cn%20%20)%3B%5Cn%7D%3B%5Cn%5Cnconst%20styles%20%3D%20StyleSheet.create(%7B%5Cn%20%20container%3A%20%7B%5Cn%20%20%20%20flex%3A%201%2C%5Cn%20%20%20%20justifyContent%3A%20'center'%2C%5Cn%20%20%20%20alignItems%3A%20'center'%2C%5Cn%20%20%7D%2C%5Cn%7D)%3B%5Cn%5Cnexport%20default%20App%3B%22%7D%7D" data-snack-dependencies=react-native-safe-area-context data-snack-platform=web data-snack-supported-platforms=ios,android,web data-snack-theme=light data-snack-preview=true data-snack-loading=lazy data-snack-device-frame=false></div></div></div></div> 36<h1>Reference</h1> 37<h2 class="anchor anchorWithStickyNavbar_JmGV" id=methods>Methods<a href=#methods class=hash-link aria-label="Direct link to Methods" title="Direct link to Methods"></a></h2> 38<h3 class="anchor anchorWithStickyNavbar_JmGV" id=addeventlistener><code>addEventListener()</code><a href=#addeventlistener class=hash-link aria-label="Direct link to addeventlistener" title="Direct link to addeventlistener"></a></h3> 39<div class="language-tsx codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>tsx</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-tsx codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token keyword" style=color:#c5a5c5>static</span><span class="token plain"> </span><span class="token function" style=color:#79b6f2>addEventListener</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> type</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token string" style=color:#8dc891>'url'</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> </span><span class="token function-variable function" style=color:#79b6f2>handler</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">event</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#657b83>{</span><span class="token plain">url</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token builtin" style=color:#2aa198>string</span><span class="token punctuation" style=color:#657b83>}</span><span class="token punctuation" style=color:#657b83>)</span><span class="token plain"> </span><span class="token arrow operator" style=color:#fc929e>=></span><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>void</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token punctuation" style=color:#657b83>)</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token maybe-class-name">EmitterSubscription</span><span class="token punctuation" style=color:#657b83>;</span><br></span></code></pre></div></div> 40<p>Add a handler to Linking changes by listening to the <code>url</code> event type and providing the handler.</p> 41<hr> 42<h3 class="anchor anchorWithStickyNavbar_JmGV" id=canopenurl><code>canOpenURL()</code><a href=#canopenurl class=hash-link aria-label="Direct link to canopenurl" title="Direct link to canopenurl"></a></h3> 43<div class="language-tsx codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>tsx</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-tsx codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token keyword" style=color:#c5a5c5>static</span><span class="token plain"> </span><span class="token function" style=color:#79b6f2>canOpenURL</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">url</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token builtin" style=color:#2aa198>string</span><span class="token punctuation" style=color:#657b83>)</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token known-class-name class-name" style=color:#fac863>Promise</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token builtin" style=color:#2aa198>boolean</span><span class="token operator" style=color:#fc929e>></span><span class="token punctuation" style=color:#657b83>;</span><br></span></code></pre></div></div> 44<p>Determine whether or not an installed app can handle a given URL.</p> 45<p>The method returns a <code>Promise</code> object. When it is determined whether or not the given URL can be handled, the promise is resolved and the first parameter is whether or not it can be opened.</p> 46<p>The <code>Promise</code> will reject on Android if it was impossible to check if the URL can be opened or when targeting Android 11 (SDK 30) if you didn't specify the relevant intent queries in <code>AndroidManifest.xml</code>. Similarly on iOS, the promise will reject if you didn't add the specific scheme in the <code>LSApplicationQueriesSchemes</code> key inside <code>Info.plist</code> (see bellow).</p> 47<p><strong>Parameters:</strong></p> 48<table><thead><tr><th>Name<th>Type<th>Description<tbody><tr><td>url <div class="label basic required">Required</div><td>string<td>The URL to open.</table> 49<blockquote> 50<p>For web URLs, the protocol (<code>"http://"</code>, <code>"https://"</code>) must be set accordingly!</p> 51</blockquote> 52<blockquote> 53<p>This method has limitations on iOS 9+. From <a href=https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl target=_blank rel="noopener noreferrer">the official Apple documentation</a>:</p> 54<ul> 55<li>If your app is linked against an earlier version of iOS but is running in iOS 9.0 or later, you can call this method up to 50 times. After reaching that limit, subsequent calls always resolve to <code>false</code>. If the user reinstalls or upgrades the app, iOS resets the limit.</li> 56</ul> 57<p>As of iOS 9, your app also needs to provide the <code>LSApplicationQueriesSchemes</code> key inside <code>Info.plist</code> or <code>canOpenURL()</code> will always resolve to <code>false</code>.</p> 58</blockquote> 59<blockquote> 60<p>When targeting Android 11 (SDK 30) you must specify the intents for the schemes you want to handle in <code>AndroidManifest.xml</code>. A list of common intents can be found <a href=https://developer.android.com/guide/components/intents-common target=_blank rel="noopener noreferrer">here</a>.</p> 61<p>For example to handle <code>https</code> schemes the following needs to be added to your manifest:</p> 62<div class="language-tsx codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-tsx codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token tag punctuation" style=color:#657b83>&lt;</span><span class="token tag" style=color:#fc929e>manifest</span><span class="token tag" style=color:#fc929e> </span><span class="token tag attr-name" style=color:#c5a5c5>...</span><span class="token tag punctuation" style=color:#657b83>></span><span class="token plain-text"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain-text"> </span><span class="token tag punctuation" style=color:#657b83>&lt;</span><span class="token tag" style=color:#fc929e>queries</span><span class="token tag punctuation" style=color:#657b83>></span><span class="token plain-text"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain-text"> </span><span class="token tag punctuation" style=color:#657b83>&lt;</span><span class="token tag" style=color:#fc929e>intent</span><span class="token tag punctuation" style=color:#657b83>></span><span class="token plain-text"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain-text"> </span><span class="token tag punctuation" style=color:#657b83>&lt;</span><span class="token tag" style=color:#fc929e>action</span><span class="token tag" style=color:#fc929e> </span><span class="token tag attr-name namespace" style=color:#c5a5c5;opacity:0.7>android:</span><span class="token tag attr-name" style=color:#c5a5c5>name</span><span class="token tag attr-value punctuation attr-equals" style=color:#657b83>=</span><span class="token tag attr-value punctuation" style=color:#657b83>"</span><span class="token tag attr-value" style=color:#8dc891>android.intent.action.VIEW</span><span class="token tag attr-value punctuation" style=color:#657b83>"</span><span class="token tag" style=color:#fc929e> </span><span class="token tag punctuation" style=color:#657b83>/></span><span class="token plain-text"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain-text"> </span><span class="token tag punctuation" style=color:#657b83>&lt;</span><span class="token tag" style=color:#fc929e>data</span><span class="token tag" style=color:#fc929e> </span><span class="token tag attr-name namespace" style=color:#c5a5c5;opacity:0.7>android:</span><span class="token tag attr-name" style=color:#c5a5c5>scheme</span><span class="token tag attr-value punctuation attr-equals" style=color:#657b83>=</span><span class="token tag attr-value punctuation" style=color:#657b83>"</span><span class="token tag attr-value" style=color:#8dc891>https</span><span class="token tag attr-value punctuation" style=color:#657b83>"</span><span class="token tag punctuation" style=color:#657b83>/></span><span class="token plain-text"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain-text"> </span><span class="token tag punctuation" style=color:#657b83>&lt;/</span><span class="token tag" style=color:#fc929e>intent</span><span class="token tag punctuation" style=color:#657b83>></span><span class="token plain-text"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain-text"> </span><span class="token tag punctuation" style=color:#657b83>&lt;/</span><span class="token tag" style=color:#fc929e>queries</span><span class="token tag punctuation" style=color:#657b83>></span><span class="token plain-text"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain-text"></span><span class="token tag punctuation" style=color:#657b83>&lt;/</span><span class="token tag" style=color:#fc929e>manifest</span><span class="token tag punctuation" style=color:#657b83>></span><br></span></code></pre></div></div> 63</blockquote> 64<hr> 65<h3 class="anchor anchorWithStickyNavbar_JmGV" id=getinitialurl><code>getInitialURL()</code><a href=#getinitialurl class=hash-link aria-label="Direct link to getinitialurl" title="Direct link to getinitialurl"></a></h3> 66<div class="language-tsx codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>tsx</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-tsx codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token keyword" style=color:#c5a5c5>static</span><span class="token plain"> </span><span class="token function" style=color:#79b6f2>getInitialURL</span><span class="token punctuation" style=color:#657b83>(</span><span class="token punctuation" style=color:#657b83>)</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token known-class-name class-name" style=color:#fac863>Promise</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token builtin" style=color:#2aa198>string</span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>|</span><span class="token plain"> </span><span class="token keyword" style=color:#c5a5c5>null</span><span class="token operator" style=color:#fc929e>></span><span class="token punctuation" style=color:#657b83>;</span><br></span></code></pre></div></div> 67<p>If the app launch was triggered by an app link, it will give the link url, otherwise it will give <code>null</code>.</p> 68<blockquote> 69<p>To support deep linking on Android, refer <a href=https://developer.android.com/training/app-indexing/deep-linking.html#handling-intents target=_blank rel="noopener noreferrer">https://developer.android.com/training/app-indexing/deep-linking.html#handling-intents</a></p> 70</blockquote> 71<blockquote> 72<p>getInitialURL may return <code>null</code> when Remote JS Debugging is active. Disable the debugger to ensure it gets passed.</p> 73</blockquote> 74<hr> 75<h3 class="anchor anchorWithStickyNavbar_JmGV" id=opensettings><code>openSettings()</code><a href=#opensettings class=hash-link aria-label="Direct link to opensettings" title="Direct link to opensettings"></a></h3> 76<div class="language-tsx codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>tsx</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-tsx codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token keyword" style=color:#c5a5c5>static</span><span class="token plain"> </span><span class="token function" style=color:#79b6f2>openSettings</span><span class="token punctuation" style=color:#657b83>(</span><span class="token punctuation" style=color:#657b83>)</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token known-class-name class-name" style=color:#fac863>Promise</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token keyword" style=color:#c5a5c5>void</span><span class="token operator" style=color:#fc929e>></span><span class="token punctuation" style=color:#657b83>;</span><br></span></code></pre></div></div> 77<p>Open the Settings app and displays the app’s custom settings, if it has any.</p> 78<hr> 79<h3 class="anchor anchorWithStickyNavbar_JmGV" id=openurl><code>openURL()</code><a href=#openurl class=hash-link aria-label="Direct link to openurl" title="Direct link to openurl"></a></h3> 80<div class="language-tsx codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>tsx</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-tsx codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token keyword" style=color:#c5a5c5>static</span><span class="token plain"> </span><span class="token function" style=color:#79b6f2>openURL</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain">url</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token builtin" style=color:#2aa198>string</span><span class="token punctuation" style=color:#657b83>)</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token known-class-name class-name" style=color:#fac863>Promise</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token builtin" style=color:#2aa198>any</span><span class="token operator" style=color:#fc929e>></span><span class="token punctuation" style=color:#657b83>;</span><br></span></code></pre></div></div> 81<p>Try to open the given <code>url</code> with any of the installed apps.</p> 82<p>You can use other URLs, like a location (e.g. "geo:37.484847,-122.148386" on Android or "<a href="https://maps.apple.com/?ll=37.484847,-122.148386" target=_blank rel="noopener noreferrer">https://maps.apple.com/?ll=37.484847,-122.148386</a>" on iOS), a contact, or any other URL that can be opened with the installed apps.</p> 83<p>The method returns a <code>Promise</code> object. If the user confirms the open dialog or the url automatically opens, the promise is resolved. If the user cancels the open dialog or there are no registered applications for the url, the promise is rejected.</p> 84<p><strong>Parameters:</strong></p> 85<table><thead><tr><th>Name<th>Type<th>Description<tbody><tr><td>url <div class="label basic required">Required</div><td>string<td>The URL to open.</table> 86<blockquote> 87<p>This method will fail if the system doesn't know how to open the specified URL. If you're passing in a non-http(s) URL, it's best to check <code>canOpenURL()</code> first.</p> 88</blockquote> 89<blockquote> 90<p>For web URLs, the protocol (<code>"http://"</code>, <code>"https://"</code>) must be set accordingly!</p> 91</blockquote> 92<blockquote> 93<p>This method may behave differently in a simulator e.g. <code>"tel:"</code> links are not able to be handled in the iOS simulator as there's no access to the dialer app.</p> 94</blockquote> 95<hr> 96<h3 class="anchor anchorWithStickyNavbar_JmGV" id=sendintent-android><code>sendIntent()</code> <div class="label android">Android</div><a href=#sendintent-android class=hash-link aria-label="Direct link to sendintent-android" title="Direct link to sendintent-android"></a></h3> 97<div class="language-tsx codeBlockContainer_mQmQ theme-code-block" style=--prism-color:#FFFFFF;--prism-background-color:#282C34><div class=codeBlockTitle_kY6l>tsx</div><div class=codeBlockContent_t_Hd><pre tabindex=0 class="prism-code language-tsx codeBlock_RMoD thin-scrollbar" style=color:#FFFFFF;background-color:#282C34><code class=codeBlockLines_AclH><span class=token-line style=color:#FFFFFF><span class="token keyword" style=color:#c5a5c5>static</span><span class="token plain"> </span><span class="token function" style=color:#79b6f2>sendIntent</span><span class="token punctuation" style=color:#657b83>(</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> action</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token builtin" style=color:#2aa198>string</span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"> extras</span><span class="token operator" style=color:#fc929e>?</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token known-class-name class-name" style=color:#fac863>Array</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token punctuation" style=color:#657b83>{</span><span class="token plain">key</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token builtin" style=color:#2aa198>string</span><span class="token punctuation" style=color:#657b83>;</span><span class="token plain"> value</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token builtin" style=color:#2aa198>string</span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>|</span><span class="token plain"> </span><span class="token builtin" style=color:#2aa198>number</span><span class="token plain"> </span><span class="token operator" style=color:#fc929e>|</span><span class="token plain"> </span><span class="token builtin" style=color:#2aa198>boolean</span><span class="token punctuation" style=color:#657b83>}</span><span class="token operator" style=color:#fc929e>></span><span class="token punctuation" style=color:#657b83>,</span><span class="token plain"></span><br></span><span class=token-line style=color:#FFFFFF><span class="token plain"></span><span class="token punctuation" style=color:#657b83>)</span><span class="token operator" style=color:#fc929e>:</span><span class="token plain"> </span><span class="token known-class-name class-name" style=color:#fac863>Promise</span><span class="token operator" style=color:#fc929e>&lt;</span><span class="token keyword" style=color:#c5a5c5>void</span><span class="token operator" style=color:#fc929e>></span><span class="token punctuation" style=color:#657b83>;</span><br></span></code></pre></div></div> 98<p>Launch an Android intent with extras.</p> 99<p><strong>Parameters:</strong></p> 100<table><thead><tr><th>Name<th>Type<tbody><tr><td>action <div class="label basic required">Required</div><td>string<tr><td>extras<td><code>Array&lt;{key: string, value: string | number | boolean}></code></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class=editButtons_t0bR><a href=https://github.com/facebook/react-native-website/edit/main/docs/linking.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_bHB7 aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit page for next release</a><a href=https://github.com/facebook/react-native-website/edit/main/website/versioned_docs/version-0.79/linking.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_bHB7 aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit page for current release</a></div><div class=lastUpdated_VsjB><span class=theme-last-updated>Last updated<!-- --> on <b><time datetime=2025-04-14T14:14:17.000Z itemprop=dateModified>Apr 14, 2025</time></b></span></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/docs/layoutanimation><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>LayoutAnimation</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/docs/panresponder><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>PanResponder</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_XG6w thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#built-in-url-schemes class="table-of-contents__link toc-highlight">Built-in URL Schemes</a><li><a href=#enabling-deep-links class="table-of-contents__link toc-highlight">Enabling Deep Links</a><li><a href=#handling-deep-links class="table-of-contents__link toc-highlight">Handling Deep Links</a><li><a href=#example class="table-of-contents__link toc-highlight">Example</a><ul><li><a href=#open-links-and-deep-links-universal-links class="table-of-contents__link toc-highlight">Open Links and Deep Links (Universal Links)</a><li><a href=#open-custom-settings class="table-of-contents__link toc-highlight">Open Custom Settings</a><li><a href=#get-the-deep-link class="table-of-contents__link toc-highlight">Get the Deep Link</a><li><a href=#send-intents-android class="table-of-contents__link toc-highlight">Send Intents (Android)</a></ul><li><a href=#methods class="table-of-contents__link toc-highlight">Methods</a><ul><li><a href=#addeventlistener class="table-of-contents__link toc-highlight"><code>addEventListener()</code></a><li><a href=#canopenurl class="table-of-contents__link toc-highlight"><code>canOpenURL()</code></a><li><a href=#getinitialurl class="table-of-contents__link toc-highlight"><code>getInitialURL()</code></a><li><a href=#opensettings class="table-of-contents__link toc-highlight"><code>openSettings()</code></a><li><a href=#openurl class="table-of-contents__link toc-highlight"><code>openURL()</code></a><li><a href=#sendintent-android class="table-of-contents__link toc-highlight"><code>sendIntent()</code> <div class="label android">Android</div></a></ul></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Develop</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/docs/getting-started>Guides</a><li class=footer__item><a class=footer__link-item href=/docs/components-and-apis>Components</a><li class=footer__item><a class=footer__link-item href=/docs/accessibilityinfo>APIs</a><li class=footer__item><a class=footer__link-item href=/architecture/overview>Architecture</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Participate</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/showcase>Showcase</a><li class=footer__item><a class=footer__link-item href=/contributing/overview>Contributing</a><li class=footer__item><a class=footer__link-item href=/community/overview>Community</a><li class=footer__item><a href=https://reactnative.directory/ target=_blank rel="noopener noreferrer" class=footer__link-item>Directory<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_2l9O><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://stackoverflow.com/questions/tagged/react-native target=_blank rel="noopener noreferrer" class=footer__link-item>Stack Overflow<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_2l9O><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Find us</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/blog>Blog</a><li class=footer__item><a href=https://x.com/reactnative target=_blank rel="noopener noreferrer" class=footer__link-item>X<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_2l9O><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://bsky.app/profile/reactnative.dev target=_blank rel="noopener noreferrer" class=footer__link-item>Bluesky<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_2l9O><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://github.com/facebook/react-native target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_2l9O><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Explore More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://react.dev/ target=_blank rel="noopener noreferrer" class=footer__link-item>ReactJS<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_2l9O><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://opensource.fb.com/legal/privacy/ target=_blank rel="noopener noreferrer" class=footer__link-item>Privacy Policy<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_2l9O><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://opensource.fb.com/legal/terms/ target=_blank rel="noopener noreferrer" class=footer__link-item>Terms of Service<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_2l9O><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div></div><div class="footer__bottom text--center"><div class=margin-bottom--sm><a href=https://opensource.fb.com/ rel="noopener noreferrer" class=footerLogoLink_tutC><img src=/img/oss_logo.svg alt="Meta Open Source Logo" class="footer__logo themedComponent_siVc themedComponent--light_hHel"><img src=/img/oss_logo.svg alt="Meta Open Source Logo" class="footer__logo themedComponent_siVc themedComponent--dark_yETr"></a></div><div class=footer__copyright>Copyright © 2025 Meta Platforms, Inc.</div></div></div></footer></div>