阻止 android webview 中的链接跳出APP(即跳转到系统浏览器)

本文介绍了一种在Android应用中使用WebView加载URL并保持在应用内部进行页面跳转的方法。通过覆写shouldOverrideUrlLoading方法,并在其中调用自定义的本地加载方法,确保了所有的页面跳转都在当前WebView中完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
         //通过此设置,可以让新页面的跳转不用跳出APP, 否则,新的页面会跳转到浏览器
         
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                loadurlLocalMethod(view, url);
                return false;
            }
        });




public void loadurlLocalMethod(final WebView webView, final String url) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                webView.loadUrl(url);
            }
        });
    }

### UniApp APP 跳转 H5 页面的方法 在 UniApp 开发框架中,为了实现在应用程序内部跳转到外部浏览器或者内置 WebView 打开特定 URL 的功能,可以利用 `plus.runtime.openURL` 或者 `uni.navigateTo` 方法配合相应参数完成操作。 对于从 APP 端直接打开指定的 H5 页面链接而言,推荐使用如下方式: #### 使用 plus.runtime.openURL 方法 此方法适用于原生插件环境,在 Vue 组件内的 methods 定义函数并调用该 API 来启动默认浏览器加载目标网址[^1]。 ```javascript methods: { openWebPage() { let url = 'http://example.com'; // 替换成实际要访问的目标地址 if (typeof plus !== 'undefined') { plus.runtime.openURL(url); } } } ``` #### 利用 uni.navigateTo 并搭配 webView 属性 如果希望保持应用内浏览体验而不跳出当前程序,则可以通过创建一个新的页面作为容器,并在其上嵌入 web-view 组件指向所需加载的内容。此时需注意仅限于非 tabBar 页面间相互导航。 ```html <!-- 新建一个用于承载webview组件的vue文件 --> <template> <view class="container"> <!-- 设置 src 属性为你想要展示的网页url --> <web-view :src="webViewSrc"></web-view> </view> </template> <script> export default { data(){ return{ webViewSrc:'https://www.example.com' }; }, }; </script> ``` 上述两种途径均可满足不同场景下由 App 向外发起请求的需求,开发者可根据具体业务逻辑选取合适的方式实施页面间的转换过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值