2017-11-14 3 views
-3

ich eine einfache Website App erstellt haben mit webview in Android Studio und es Internetzugang Erlaubnis auch aktiviert Java Script auf appShare-Taste funktioniert nicht in meiner app

Als ich gegeben haben einen WhatsApp-Share-Button mit diesem Code

<button> 
<a href="whatsapp://send?text=HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE" data-action="share/whatsapp/share">Share via Whatsapp</a> 
</button> 

Dies funktioniert gut in allen mobilen Browsern bu t, wenn ich versuche das ich auf meiner app verwenden bin ein Fehlerbild immer sagen

Webseite nicht verfügbar

Die Webseite bei whatsapp: // senden text = Ich bin% 20interested%? 20in% 20your% 20car% 20for% 20salecould nicht, weil geladen werden:

net :: ERR_UNKNOWN_URL_SCHEME

meinen Code Dies ist in mainactivity.java

package com.a4extras.ukzz.whatsappdaily; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 




public class MainActivity extends AppCompatActivity { 

    private WebView mywebView; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mywebView = (WebView)findViewById(R.id.WebView); 
     WebSettings webSettings = mywebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     mywebView.loadUrl("http://ukzz4u.blogspot.com/2017/11/whatsapp-share-01.html"); 
     mywebView.setWebViewClient(new WebViewClient()); 
    } 



    @Override 
    public void onBackPressed() { 
     if (mywebView.canGoBack()) { 
      mywebView.goBack(); 
     } else { 
      super.onBackPressed(); 
     } 
    }} 

Dies liegt daran, meine app whatsapp nimmt: // als URL So, wie dies zu verhindern, so dass die Share-Taste

richtig funktioniert Bitte helfen Sie mir mit dem notwendigen Skript Dank

+0

Auf einem Gerät, das sollte funktionieren, wie es ist. Versuchen Sie es an einem Simulator? Haben Sie WhatsApp auf dem Gerät installiert? –

+0

Ihre URL sollte einfach sein ** WhatsApp: // senden? Text = HIER GEHT DIE URL ENCODED TEXT SIE WOLLEN TEILEN ** –

Antwort

1

die einfache Abhilfe ist Javascript in href zu verwenden:

<a href="javascript:go('whatsapp://send?text=HERE')">Share</a> 

oder, bei Verwendung von Chromunter d Webansicht:

<a href="intent://send?text=HERE#Intent;scheme=whatsapp;package=com.whatsapp;end">Share</a> 

Komplexere, aber leistungsfähigere Lösung ist selbst whatsapp Schema zu steuern:

In Ihrem WebViewClient:

@Override 
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
    Uri uri = request.getUrl(); 
    if (Objects.equals(uri.getScheme(), "whatsapp")) { 
     try { 
      Intent intent = Intent.parseUri(request.getUrl().toString(), Intent.URI_INTENT_SCHEME); 
      if(intent.resolveActivity(getPackageManager()) != null) 
       startActivity(intent); 
      return true; 
     } catch (URISyntaxException e) { 
      e.printStackTrace(); 
     } 
    } 

    return super.shouldOverrideUrlLoading(view, request); 
} 
+0

Vielen Dank – user8936954

+0

Itzz funktioniert nicht bitte helfen Sie tatsächlich die Aktion funktioniert nicht .. – user8936954

+0

OK, in 'WebViewClient' in' shouldOverrideUrlLoading' Methode können Sie die Standardaktion überschreiben. Ich werde eine Antwort ändern. –

Verwandte Themen