Ich möchte meine App auffordern können, einen Link zu öffnen, wenn der Benutzer auf eine URL eines bestimmten Musters klickt, anstatt dem Browser das Öffnen zu ermöglichen. Dies kann der Fall sein, wenn sich der Benutzer auf einer Webseite im Browser oder in einem E-Mail-Client oder in einem WebView in einer frisch geprägten App befindet.
Klicken Sie beispielsweise von einer beliebigen Stelle im Telefon auf einen YouTube-Link, und Sie haben die Möglichkeit, die YouTube-App zu öffnen.
Wie erreiche ich das für meine eigene App?
Antworten:
Verwenden Sie eine android.intent.action.VIEW der Kategorie android.intent.category.BROWSABLE .
Von Romain Guy Fotostream App AndroidManifest.xml ,
Sobald Sie sich in der Aktivität befinden , müssen Sie nach der Aktion suchen und dann etwas mit der URL tun, die Sie erhalten haben. Die
Intent.getData()
Methode gibt Ihnen einen Uri.Es sollte jedoch beachtet werden, dass diese App etwas veraltet ist (1.2), sodass Sie möglicherweise bessere Möglichkeiten finden, dies zu erreichen.
quelle
Es gibt einige Bibliotheken, die Parameter von URL automatisch analysieren.
sowie
https://github.com/airbnb/DeepLinkDispatch
&&
https://github.com/mzule/ActivityRouter
Der spätere wird von mir geschrieben. Was Parameter auf einen bestimmten Typ analysieren kann, nicht immer auf String.
Beispiel
quelle
quelle