java - 在普通浏览器中打开来自 Android Webview 的链接作为弹出窗口

标签 java javascript android webview

我有一个加载页面的简单 WebView 。此页面有几个在 web View 中打开的链接。这就是它应该做的,所以一切正常。

但是该页面有一个链接应该作为弹出窗口加载,所以我希望它在人们单击它时在普通浏览器中打开。但正如我所说,所有链接都在 web View 中打开,因此该链接也会打开。

我的问题是,如何让这个链接在普通浏览器中以弹出窗口的形式打开?有可能吗?该链接是可变的,因此它总是在变化,不能在应用程序中对其进行硬编码以在新的浏览器浏览器中打开。

这可能吗?我该怎么做?

最佳答案

这是一个覆盖 webview 加载以留在 webview 内或离开的示例:

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

public class TestWebViewActivity 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());
    }
}


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

关于java - 在普通浏览器中打开来自 Android Webview 的链接作为弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8540343/

相关文章:

Javascript 逻辑 - FOR 循环如何知道自动访问哪个数组

javascript - react-pdf-js - 未捕获( promise )e {name : "InvalidPDFException", message: "Invalid PDF structure"}

android - Android API 级别 7 中是否有 requestAudioFocus 的等效函数?

java - 在禁用 DeviceAdmin 模式时设置身份验证?

java - 在 UIMA Ruta Workbench 中添加 HeidelTime 作为分析引擎

javascript - 如何从另一个页面 html 打开 Bootstrap 模式?

android - Google Play 商店 Activity 跟踪不适用于网络浏览器安装

android - 如果相机旋转,来自相机的图像为空

java - 折线图 JavaFX 性能

java - Android Studio模拟器: "Could not access the Package Manager." and "AdbCommandRejectedException: device ' emulator-555 6' not found"