2017-02-09 1 views
0

J'utilise le code suivant dans mon manifeste pour montrer l'option à l'utilisateur quand une URL pertinente est essayée pour être ouverte par n'importe quelle source dans le mobile, mais elle ouvre automatiquement le navigateur web au lieu de montrer mon application dans les options. Quel pourrait être le problème?Le lien d'application d'ouverture Android utilisant le filtre d'intention ne fonctionne pas

<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

Veuillez indiquer le code de votre activité. Surtout le rappel '' onNewIntent''. Vous ne savez pas si vous pouvez le faire dans une activité. Avez-vous essayé dans un ? – Grisgram

+0

Dans l'activité le manipulant dans onCréer juste par ce Intention intent = getIntent(); url = intention.getData(). ToString(); –

+0

La différence entre onCreate et onNewIntent est que, si votre activité existe déjà (en arrière-plan), elle n'est pas '' created'' à nouveau, mais plutôt '' onNewIntent''. À partir de Docs: Dans les deux cas, lorsque l'activité est relancée alors qu'elle se trouve en haut de la pile d'activités au lieu d'une nouvelle instance de l'activité démarrée, onNewIntent() sera appelée sur l'instance existante avec l'intention qui était " – Grisgram

Répondre

1

Pourriez-vous essayer de changer vos balises de données à:

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

toujours les mêmes résultats. –

0

Vous devez utiliser comme ça, Son travail pour moi.

<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

pouvez-vous coller un exemple d'URL, pour lequel il travaille pour vous? –

+0

Désolé, il n'y a pas d'URL, c'est dans mon projet. nous avons implémenté cette fonctionnalité. vous pouvez simplement créer une activité avec ce filtre d'intention définissez votre préfixe de chemin et votre hôte, cela fonctionnera. –

+0

J'utilise la même chose mais quand je clique sur url alors il est directement ouvert dans le navigateur. –