Suche…


Einführung

Mit der Linking-API können Sie Links zwischen Anwendungen senden und empfangen. Öffnen Sie zum Beispiel die Telefon-App mit eingewählter Nummer oder öffnen Sie Google Maps und starten Sie eine Navigation zu einem ausgewählten Ziel. Sie können Linking auch verwenden, um Ihre App auf Links reagieren zu lassen, die von anderen Anwendungen aus geöffnet werden.

Um das Linking , müssen Sie es zuerst von react-native importieren

import {Linking} from 'react-native'

Um einen Link zu öffnen, rufen Sie openURL auf.

Linking.openURL(url)
.catch(err => console.error('An error occurred ', err))

Die bevorzugte Methode ist zu prüfen, ob eine installierte App eine bestimmte URL vorab verarbeiten kann.

Linking.canOpenURL(url)
.then(supported => {
  if (!supported) {
    console.log('Unsupported URL: ' + url)
  } else {
    return Linking.openURL(url)
  }
}).catch(err => console.error('An error occurred ', err))

URI-Schemata

Ziel-App Beispiel Referenz
Webbrowser https://stackoverflow.com
Telefon tel:1-408-555-5555 Apfel
Mail mailto:[email protected] Apfel
SMS sms:1-408-555-1212 Apfel
Apple Maps http://maps.apple.com/?ll=37.484847,-122.148386 Apfel
Google Maps geo:37.7749,-122.4194 Google
iTunes Siehe iTunes Link Maker Apfel
Facebook fb://profile Paketüberfluss
Youtube http://www.youtube.com/v/oHg5SJYRHA0 Apfel
Facetime facetime://[email protected] Apfel
iOS Kalender calshow:514300000 [1] iPhoneDevWiki

[1] Öffnet den Kalender in der angegebenen Anzahl Sekunden seit dem 1. 1. 2001 (UTC?). Aus irgendeinem Grund ist diese API von Apple nicht dokumentiert.

Sie können erkennen, wann Ihre App von einer externen URL gestartet wird.

componentDidMount() {
  const url = Linking.getInitialURL()
  .then((url) => {
    if (url) {
      console.log('Initial url is: ' + url)
    }
  }).catch(err => console.error('An error occurred ', err))
}

So aktivieren Sie dies unter iOS Link RCTLinking mit Ihrem Projekt .

Führen Sie die folgenden Schritte aus, um dies auf Android zu aktivieren.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow