-2

Mein Code ist:Android 7.0 oder obere Mailto-Link nicht in webView Arbeits

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_web_view); 
    ButterKnife.bind(this); 

    String url = getIntent().getStringExtra(EXTRA_URL); 

    webView.setWebChromeClient(new WebChromeClient()); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.loadUrl(url); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
      startActivity(intent); 
      return true; 
     } 
    }); 
} 

Wenn Mail-Link gedrückt senden, zeigt diesen Fehler:

net :: ERR_UNKNOWN_URL_SCHEME

Grüße! !

+0

was 'url' Wert? –

+0

Ist String tut mir leid, schon bearbeitet –

+0

Die Frage war nicht, was der Typ der Variable war, sondern ihr Wert. – greenapps

Antwort

0

Sie laden die URL BEVOR Sie webviewclient setzen. Versuchen Sie, den Webviewclient zuerst zu setzen und danach loadUrl() aufzurufen.

EDIT

@Override 
public boolean shouldOverrideUrlLoading (WebView view, String url) { 

    Uri uri = Uri.parseUri(url); 
    if ("mailto".equalsIgnoreCase(uri.getScheme()) == true) { 
     try { 

      // handle mailto-urls... 
      Intent sendIntent = new Intent(Intent.ACTION_SENDTO); 
      sendIntent.setData(uri); 
      view.getContext().startActivity(sendIntent);   

     } catch (ActivityNotFoundException e) {} 
     return true; 
    } 
    // load everything else in webview 
    return false; 
} 
+0

Funktioniert diese Lösung nicht –

+0

was funktioniert nicht? Weitere Informationen ... Zunächst ist es offensichtlich schlecht, eine URL zu laden und danach einen Webviewclient einzurichten. Korrigiere es bitte. Zweitens funktioniert der oben dargestellte Code nicht wie erwartet, da Sie JEDE URL an die Absicht senden. Aber Sie brauchen nur "mailto" URLs, siehe meine Bearbeitung. –

Verwandte Themen