You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android WebView拦截.html链接跳转内部SecondActivity实现问题

你当前代码调用的是隐式Intent.ACTION_VIEW,系统会自动匹配默认处理HTTP/HTTPS协议的应用(通常是系统浏览器),因此无法跳转到应用内的SecondActivity。可以按以下方式调整:

第一步:修改MainActivity的WebView跳转拦截逻辑

将隐式Intent改为显式Intent,直接指定跳转目标为SecondActivity,同时将目标URL作为参数传递:

if (url.endsWith(".html")) {
    try {
        // 显式指定跳转目标
        Intent intent = new Intent(view.getContext(), SecondActivity.class);
        // 传递待加载的HTML链接
        intent.putExtra("HTML_LOAD_URL", url);
        view.getContext().startActivity(intent);
    } catch (Exception e) {
        e.printStackTrace();
    }
    // 拦截WebView默认跳转逻辑
    return true;
}

第二步:在SecondActivity中接收URL并加载

在SecondActivity的onCreate生命周期中获取传入的URL,交给内置WebView加载:

public class SecondActivity extends AppCompatActivity {
    private WebView mSecondWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        mSecondWebView = findViewById(R.id.second_webview);
        
        // 配置WebView基础参数,和MainActivity的WebView配置保持一致即可
        WebSettings settings = mSecondWebView.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setDomStorageEnabled(true);

        // 接收并加载URL
        String loadUrl = getIntent().getStringExtra("HTML_LOAD_URL");
        if (loadUrl != null) {
            mSecondWebView.loadUrl(loadUrl);
        }
    }

    // 可选:支持返回键回退WebView浏览历史
    @Override
    public void onBackPressed() {
        if (mSecondWebView.canGoBack()) {
            mSecondWebView.goBack();
            return;
        }
        super.onBackPressed();
    }
}

注意事项

  • 确保SecondActivity已经在AndroidManifest.xml中完成注册,否则会触发ActivityNotFoundException。
  • 如果加载的HTML页面涉及JS交互、跨域访问或者本地资源引用,SecondActivity的WebView配置要和MainActivity保持一致,避免出现加载异常。

内容的提问来源于stack exchange,提问作者Jarosław Król

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:18:02