gpt4 book ai didi

android - 如何在默认浏览器中打开外部 url 并在 WebView Android 中打开所有内部链接?

转载 作者:行者123 更新时间:2023-11-29 01:33:03 29 4
gpt4 key购买 nike

我使用的逻辑是每个内部链接都包含“myurl”字符串,因此它应该在 WebView 中打开,其他外部链接在默认浏览器中打开。

package com.package.webviewapp;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;


public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


WebView webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new MyWebViewClient());

String url = "http://myurl.com";
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);

}
}
class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("myurl")){ // Could be cleverer and use a regex
view.loadUrl(url); // Stay within this webview and load url
return true;
} else {
return super.shouldOverrideUrlLoading(view, url); // Leave webview and use browser
}
}
}

但它正在打开 WebView 中的所有链接。正如这里提到的Open link from Android Webview in normal browser as popup它应该工作。

最佳答案

当你想加载其他网址时使用下面的方法,它会在默认浏览器中打开

Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(download_link));
startActivity(myIntent);

关于android - 如何在默认浏览器中打开外部 url 并在 WebView Android 中打开所有内部链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30185327/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com