2017-02-09 1 views
0

Ich verwende folgenden Code in meinem Menü, um die Option für Benutzer anzuzeigen, wenn eine relevante URL von einer beliebigen Quelle innerhalb des Handys geöffnet wird, aber es öffnet automatisch Web-Browser anstatt meine Anwendung in Optionen anzuzeigen. Was könnte das Problem sein?Android App-Link mit Intent-Filter funktioniert nicht

<activity android:name=".VisitWebPage" > 
      <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:scheme="http" /> 
       <data android:scheme="https" /> 
       <data android:host="www.mysite.com" /> 
       <data android:pathPattern="/.*" /> 
      </intent-filter> 
     </activity> 
+0

Bitte Code Ihrer Aktivität anzeigen. Vor allem der "onNewIntent" -Rückruf. Nicht sicher, ob Sie dies in einer Aktivität tun können. Hast du es in einem versucht? – Grisgram

+0

In Aktivität, die es in OnCreate nur durch diese Intent intent = getIntent(); url = intent.getData(). ToString(); –

+0

Der Unterschied zwischen onCreate und onNewIntent besteht darin, dass wenn Ihre Aktivität bereits existiert (im Hintergrund), sie nicht wieder "erstellt" wird, sondern stattdessen "onNewIntent". Von Docs: '' In beiden Fällen wird onNewIntent() bei der neuen Instanz am Anfang des Aktivitätsstapels anstelle einer neuen Instanz der Aktivität, die gestartet wird, für die vorhandene Instanz mit der Absicht aufgerufen, die das war verwendet, um es neu zu starten. " – Grisgram

Antwort

1

Könnten Sie versuchen, Ihre Daten-Tags zu ändern zu:

<data android:scheme="http" 
      android:host="www.mysite.com" /> 
    <data android:scheme="https" 
      android:host="www.mysite.com" /> 
+0

immer noch die gleichen Ergebnisse. –

0

Sie haben so zu verwenden, sein für mich arbeiten.

<activity 
       android:name=".MainActivity" 
       android:screenOrientation="portrait"> 
       <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="mysite.com" 
        android:pathPrefix="/m/showroom/mypage" 
        android:scheme="http" /> 
      </intent-filter> 
     </activity> 
+0

können Sie auch eine Beispiel-URL einfügen, für die es für Sie arbeitet? –

+0

Entschuldigung, es gibt keine URL, es ist in meinem Projekt. Wir haben diese Funktion implementiert. Sie können einfach Aktivität erstellen mit diesem Intent-Filter definieren Sie Ihr Pfad-Präfix und Host, es wird funktionieren. –

+0

Ich benutze das selbe, aber wenn ich auf URL klicke, wird es direkt im Browser geöffnet. –

Verwandte Themen