1

Ich habe tiefe Verknüpfung in meiner App implementiert. Sicher genug, wenn ich auf einen Link von einem Browser klicke, öffnet es die App. Aber wenn ichDeep Link startet App, aber sagt, uri ist null

Intent intent = getIntent(); 
String action = intent.getAction(); 
Uri data = intent.getData(); 

beide action und data sind null. Was würde so etwas verursachen? Ich stelle mir vor, die Tatsache, dass es meine App öffnet bedeutet, dass es eine URI hat.

Hier ist meine Absicht Filter

<intent-filter> 
      <action android:name="android.intent.action.VIEW"/> 

      <category android:name="android.intent.category.DEFAULT"/> 
      <category android:name="android.intent.category.BROWSABLE"/> 
      <data 
       android:host="www.mywebsite.com" 
       android:scheme="http"/> 
      <data 
       android:host="www.mywebsite.com" 
       android:scheme="https"/> 
      <data 
       android:host="mywebsite.com" 
       android:scheme="http"/> 
      <data 
       android:host="mywebsite.com" 
       android:scheme="https"/> 
      <data 
       android:host="/*" 
       android:scheme="mywebsite"/> 
     </intent-filter> 
+0

suchst Bist du sicher, dass du die 'Absicht' von der rechten' Aktivität' ausprüfst? (z. B. dass Ihr 'Absichtsfilter' in der Startaktivität eingestellt ist, während Sie nach der Absicht für die folgende Aktivität suchen) –

+0

Entschuldigung für die späte Antwort @KenVanHoeylandt. Du hast den Nagel auf den Kopf getroffen. Ich benutzte eine Splash-Aktivität und hatte das vergessen. Also vielen Dank für das, was man offensichtlich gesehen hat. –

+0

Gern geschehen! Ich werde es als Antwort veröffentlichen, damit Sie es genehmigen können. –

Antwort

3

Vergewissern Sie sich, die Intent von rechts Activity überprüfen.

z.B. dass dein Intent-Filter auf den Start Activity gesetzt ist, während du nach der Absicht auf dem folgenden Activity

+0

Wie man eine dynamische Verbindung einstellt, um eine spezifische Aktivität zu öffnen, in meinem Fall wird die Launcher-Aktivität geöffnet. –