在外部浏览器Web视图中打开链接



我是新手,所以我需要一些帮助我正在尝试使用webview从网站创建一个应用程序,但我希望所有不是网站链接的链接都能在浏览器上从外部打开,我该怎么做?这是我的代码,它没有按我的意图工作,网站直接在浏览器上打开,而不是在webview 上

package com.app.catalogomacae;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
WebView webView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
//webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setWebViewClient(new WebViewClient()
{
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
String url2="https://catalogomacae.com.br/";
// 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;
}
}
});
//webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://catalogomacae.com.br/appcatalogo");
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);

}
@Override
public void onBackPressed() {
if(webView.isFocused() && webView.canGoBack())
{
webView.goBack();
}else{
super.onBackPressed();
}
}
}
myWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return false;
}
});

最新更新