Проблема со ссылками в моем приложении для просмотра веб-страниц? - PullRequest
0 голосов
/ 04 августа 2020

Каждая ссылка на веб-сайте открывает ее в самом приложении. Как мне сделать так, чтобы она открывалась в браузере или соответствующем приложении? Я понятия не имею, как это сделать, и из того, что я искал в Интернете, я видел только, как открывать ссылки в вашем приложении, а не в браузере. Заранее спасибо. Это MainActivity. java:

package com.example.website;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Window;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        webView = (WebView) findViewById(R.id.webView);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webView.loadUrl("website.com");
        webView.setWebViewClient(new WebViewClient());
    }

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

    }
}

1 Ответ

0 голосов
/ 04 августа 2020

Вот оно, при переходе по ссылкам делается новый запрос URL. перед отправкой запроса он входит в shouldOverrideUrlLoading

webview.setWebViewClient(new WebViewClient(){
    public boolean shouldOverrideUrlLoading(WebView view, String url){
    String url2="https://whatoplay.com/";
 // all links  with in ur site will be open inside the webview 
 //links that start ur domain example(http://www.example.com/)
if (url != null && url.startsWith(url2)){
  return false;
} 
 // all links that points outside the site will be open in a normal android browser
else
{
  view.getContext().startActivity(
  new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
  return true;
}

}});

And My Refernce: webview-link-click-open-default-browser

...