2017-01-04 1 views
0

J'ai mis en œuvre le deep en un pour mes activités. Mais lorsque le lien est cliqué, un sélecteur d'intention s'ouvre pour vous demander s'il faut ouvrir depuis l'application ou depuis le navigateur. Comment ouvrir directement depuis l'application?Deeplink on click ouvre le sélecteur d'intention dans android

De même, lorsque l'application n'est pas installée, elle ne prend pas en charge la lecture. Il s'ouvre dans le navigateur.

est mon code ci-dessous dans le manifeste:

<activity android:name=".activities.VideoNewsDetailActivity" 
     android:theme="@style/AppThemeActivity" 
     android:configChanges="orientation|screenSize" 
     > 
     <!-- Add this new section to your Activity --> 
     <intent-filter android:label="@string/videoNewsDetail"> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <!-- Handle urls starting with "http://www.example.com/products" --> 
      <data android:scheme="http" 
       android:host="ddnews.apprikart.in" 
       android:pathPrefix="/videos" /> 
      <!-- Handle local urls starting with "example://products" --> 
      <data android:scheme="ddnews.apprikart" 
       android:host="videos" /> 

     </intent-filter> 
    </activity> 
+0

Cela peut aussi aider https: // developers.google.com/digital-asset-links/v1/getting-started – Tasneem

Répondre

4

Voici comment le travail de filtre intention. Si plus d'une application peut gérer votre intention, elle affichera un sélecteur d'intention. C'est à l'utilisateur de décider s'il veut ouvrir le lien dans votre application ou votre navigateur.

Votre serveur doit gérer la partie de redirection Playstore. Par exemple votre URL de lien profond est http://www.example.com/page/1. Désormais, lorsque l'application n'est pas installée, le serveur peut vérifier si l'URL est appelée depuis un navigateur, puis rediriger le navigateur vers l'URL de l'application du Playstore.

2

@Eric B. a raison. Même si vous ne souhaitez que votre application peut ouvrir ce lien, vous devez utiliser modèle personnalisé dans intent-filter, comme:

android:scheme="ddnews" 

Et besoin de construire lien comme, ddnews://domain.com/dir/page.html