2017-01-04 3 views
0

Ich habe Deeplinking in einem für meine Aktivitäten implementiert. Wenn der Link angeklickt wird, öffnet sich ein Intent-Chooser, der fragt, ob er von der App oder vom Browser aus geöffnet werden soll. Wie öffne ich direkt von der App?Deeplink bei Klick öffnet Absichtsauswahl in Android

Auch wenn die App nicht installiert ist, dauert es nicht zu playstore. Es öffnet sich im Browser.

Unten ist mein Code im Manifest:

<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

Dies auch https helfen kann: // developers.google.com/digital-asset-links/v1/getting-started – Tasneem

Antwort

4

Dies ist, wie Intent-Filter zu arbeiten. Wenn mehr als eine App Ihre Absicht bearbeiten kann, wird eine Absichtsauswahl angezeigt. Es liegt am Benutzer, ob er den Link in Ihrer App oder in Ihrem Browser öffnen möchte.

Ihr Server sollte die Playstore-Umleitung übernehmen. Zum Beispiel ist Ihre Deeplink-URL http://www.example.com/page/1. Jetzt, wenn die App nicht installiert ist, kann der Server überprüfen, ob die URL von einem Browser aufgerufen wird, und dann den Browser zur App-URL des Playstores umleiten.

2

@Eric B. hat Recht. Auch wenn Sie nur Ihre App auf diesen Link öffnen können, dann müssen Sie benutzerdefinierte Schema in intent-filter verwenden, wie:

android:scheme="ddnews" 

Und brauchen Link wie zu bauen ddnews://domain.com/dir/page.html

Verwandte Themen