使用WebView不跳转到其它浏览器

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        url = (EditText)findViewById(R.id.url);
        show = (WebView)findViewById(R.id.show);
        ok = (Button)findViewById(R.id.ok);
        
        ok.setOnClickListener(new OnClickListener()
        {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub

String urlstr = "http://";

urlstr += url.getText().toString();
   
    //show.loadUrl(urlstr);   //加载网页  直接打开会跳转到其它浏览器

//阻止弹出其它浏览器弹出
show.setWebViewClient(new MyWebViewClient());
show.loadUrl(urlstr); 
}
       
        });       
        
    }
    
    //避免跳转到其它浏览器
    class MyWebViewClient extends WebViewClient
    {


@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub

view.loadUrl(url);

return super.shouldOverrideUrlLoading(view, url);
}
   
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在当前浏览器中下载文件而不是跳转到系统浏览器,你可以使用WebView的setDownloadListener方法来实现。下面是一个示例代码: ```java webView.setDownloadListener(new DownloadListener() { @Override public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType, long contentLength) { // 创建一个下载请求 DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); // 设置文件保存路径,这里使用应用的缓存目录 String fileName = URLUtil.guessFileName(url, contentDisposition, mimeType); File file = new File(getApplicationContext().getExternalCacheDir(), fileName); request.setDestinationUri(Uri.fromFile(file)); // 设置一些其他下载参数,如标题、描述、可见性等 request.setTitle(fileName); request.setDescription("Downloading file"); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); // 获取系统的下载管理器并开始下载 DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); downloadManager.enqueue(request); } }); ``` 在上面的代码中,我们首先设置了一个DownloadListener,在下载开始时会回调onDownloadStart方法。在这个方法中,我们创建了一个DownloadManager.Request对象,并设置了文件保存路径、标题、描述等参数。然后,我们获取系统的下载管理器,并使用enqueue方法将下载请求加入队列,开始下载。 请注意,为了使上述代码正常工作,你需要在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ``` 这样,WebView中的下载链接将在当前浏览器中进行下载,而不是跳转到系统浏览器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值