2016-11-03 1 views
0

Ich habe ein Problem mit Deep Linking und Android-Filter. Dies ist der Absichtsteil des Manifests.Android Deep Linking funktioniert nicht auf Webview

<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="deeplink" 
     android:scheme="myapp"/> 
</intent-filter> 

Und wenn ich versuche, die App mit einem regelmäßigen Link zu öffnen es im Android Chrome, aber nicht in der Webansicht (immer gleiche "err_unknown_url_scheme")

<a href="myapp://deeplink/?action=showStore=001">Open in app</a> 

Ich las Android documentation auf Absichten funktioniert und versuchte, auch so etwas, aber ich bin mir nicht sicher, ob es

<a href="intent://deeplink/#Intent;scheme=myapp;package=com.example.myapp;action=showStore=001;end">Open in app</a> 

korrekt ist nur ich Zugriff auf den HTML-Code haben, nicht im Android Code App. Mein Ziel ist es, auf diesen Link zu klicken und myapp zu öffnen. Alle Stackoverflow-Fragen zu diesem Thema sind Android-Entwicklung verwandt oder andere Beiträge über das Internet sind ein bisschen altmodisch.

Sehr geschätzt!

+0

Sie sollten den 'Aktion' Teil entfernen und ihn in den Absichtsteil verschieben. 'Open in app' –

+0

@SimonMarquis funktioniert nicht in Webview, ich werde zu den Entwicklern der App kämmen, sieht Ihre Absicht gut aus und arbeitet außerhalb der Webansicht. Vielen Dank! – Pere

+0

Für Webviews muss es auf der WebView-Client-Seite behandelt werden (sollteHandleUrl-Methode oder ähnliches) –

Antwort

-2
please try below example which will open your application from webview. 


    public class HTMLActvity extends AppCompatActivity { 

     private WebView mWebView; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_htmlactvity); 
      mWebView = (WebView) findViewById(R.id.webView1); 

      //webView.loadUrl("http://www.google.com"); 
      mWebView.getSettings().setJavaScriptEnabled(true); 
      String customHtml = "<a href=\"https://www.example.com\">Open in app</a>"; 
      mWebView.loadData(customHtml, "text/html", "UTF-8"); 
     } 
    } 

    deep link activity register for www.example.com 

    <activity android:name=".DeepLinkActivity"> 
      <intent-filter android:autoVerify="true"> 
       <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" android:host="www.example.com" /> 
       <data android:scheme="https" android:host="www.example.com" /> 
      </intent-filter> 

     </activity> 

Bitte lassen Sie mich wissen, wenn diese Does't't Arbeit für Sie nicht.

+0

Danke jitesh, das Problem wie gesagt Ich habe keinen Zugriff auf den App-Code, ich bin der Entwickler der Webseite. Ich komme zurück zu den Entwicklern mit Ihrem Beispiel, sieht gut aus, danke! – Pere

+0

Noch nicht genug Reputation, sorry – Pere