`
liuguofeng
  • 浏览: 449509 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Android WebView开发常见问题

 
阅读更多

1、添加权限:AndroidManifest.xml中必须使用许可”android.permission.INTERNET”,否则会出Web page not available错误。
       2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);
       3、设置WebView基本信息:
       如果访问的页面中有Javascript,则webview必须设置支持Javascript。
       webview.getSettings().setJavaScriptEnabled(true);
       触摸焦点起作用
       requestFocus();//如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。
       取消滚动条
       this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);

       4、设置WevView要显示的网页:

       互联网用:webView.loadUrl(“http://www...“);
       本地文件用:webView.loadUrl(“file:///android_asset/XX.html“);  本地文件存放在:assets文件中

    
       5、如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。
       给WebView添加一个事件监听对象(WebViewClient)并重写其中的一些方法shouldOverrideUrlLoading:对网页中超链接按钮的响应。

       当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url

java代码:

1 <strong>    onLoadResource 
2        
3     onPageStart 
4        
5     onPageFinish 
6        
7     onReceiveError 
8        
9     0onReceivedHttpAuthRequest  </strong>

    6、如果用webview点链接看了很多页以后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件。
        覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法。

01 public boolean onKeyDown(intkeyCoder,KeyEvent event){ 
02    
03 if(webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){ 
04    
05 webview.goBack(); //goBack()表示返回webView的上一页面 
06    
07 returntrue
08    
09
10    
11 returnfalse
12    
13 }

  Android的webView很强大,其实就是一个浏览器,你可以把它嵌入到你想要的位置,我这里遇到两个问题,就是怎么知道网页的加载进度和加载网页时,点击网页里面的链接还是在当前的webview里跳转,不想跳到浏览器那边,解决办法如下:

01 //此方法可以处理webview 在加载时和加载完成时一些操作 
02    
03 webView.setWebChromeClient(newWebChromeClient(){ 
04    
05 @Override 
06    
07 public void onProgressChanged(WebView view, intnewProgress) { 
08    
09 if(newProgress==100){  
10    
11 // 这里是设置activity的标题, 也可以根据自己的需求做一些其他的操作 
12    
13 title.setText(“加载完成”); 
14    
15 }else
16    
17 title.setText(“加载中…….”); 
18    
19    
20    
21
22    
23
24    
25 }); 
26    
27    
28    
29 webView.setWebViewClient(newWebViewClient(){ 
30    
31 @Override 
32    
33 public booleanshouldOverrideUrlLoading(WebView view, String url) {  
34    
35 //重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边 
36    
37 view.loadUrl(url); 
38    
39 returntrue
40    
41
42    
43    
44    
45 @Override 
46    
47 public voidonReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) {  
48    
49 // 重写此方法可以让webview处理https请求 
50    
51 handler.proceed(); 
52    
53
54    
55    
56    
57 });
分享到:
评论

相关推荐

    通过css注入实现android webview的夜间模式

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容。而实现夜间模式是现代应用中常见的需求,特别是在保护用户视力和节省电池方面。本篇将详细介绍如何利用CSS注入来实现在Android ...

    android webview 因iframe+target=“_blank “ 导致的页面无法正常打开或获取不到调整url

    在Android开发中,WebView是一个非常重要的组件,它允许我们在原生应用中内嵌网页内容,实现混合开发。然而,开发者时常会遇到一些棘手的问题,其中之一便是“android webview 因iframe+target=“_blank”导致的...

    Android webview QQ一键登录并向后台返回参数

    在Android开发中,WebviewQQ登录是一种常见的社交登录方式,它允许用户通过内置的WebView组件直接使用QQ账号进行登录,并将登录后的参数回传给应用的后台系统。这种方式简化了用户的登录流程,提高了用户体验,同时...

    android webview html5 video autoplay

    解决这个问题的一个常见方法是在Webview加载页面之前设置一些特殊的配置,例如: ```java WebSettings settings = webView.getSettings(); settings.setMediaPlaybackRequiresUserGesture(false); ``` 这段代码会...

    android webview模拟网页post操作

    在Android开发中,WebView是一个非常重要的组件,它允许在应用程序中加载和显示网页内容,同时提供了与网页交互的能力。其中一个常见的需求就是通过WebView模拟网页的POST操作,这通常用于实现登录功能、表单提交等...

    Android利用 webview 查看阅读pdf资料( 优化)

    在Android开发中,Webview是一个强大的组件,常用于加载网页内容和实现轻量级的浏览器功能。当需要在应用中查看PDF文档时,Webview也是一个常见的选择,特别是对于在线PDF资源。本文将深入探讨如何利用Webview查看...

    android webView.pptx

    ### Android WebView 开发使用详解 #### 一、WebView简介与应用场景 WebView是Android提供的一种用于显示Web内容的组件。它可以加载HTML页面,并且能够与页面中的JavaScript交互,从而实现更丰富的应用功能。...

    Android WebView控件的用法

    7. **常见问题及解决** - **网页加载慢**:检查网络状况,优化网页内容,启用缓存,或使用预加载策略。 - **页面加载失败**:检查URL是否正确,网络权限是否开启,以及是否正确处理了各种加载异常。 总之,...

    android webview js交互, 响应webview中的图片点击事件

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。而JavaScript交互则是WebView功能的一部分,使得我们能够实现Android应用与网页之间的通信,从而增强用户体验。本篇文章...

    android webview demo

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容。`android webview demo` 是一个示例项目,旨在帮助开发者理解如何有效地使用WebView进行网页交互。下面将详细介绍...

    Android WebView 常见问题及处理方案

    但是android的webview默认支持的功能非常弱,很多地方都是需要自定义的,才能达到我们想要的效果。并且webview在不同的版本会有不同程度的bug。下面小编把webview经常出现的问题给大家整理如下: 1.为WebView自定义...

    androidwebview图片上传 源码

    代码中没有直接涉及到具体的图片上传逻辑,但从描述“完美解决各个Android系统的上传问题”来看,这部分逻辑应该会涉及以下几个方面: - **图片获取**:通过系统文件选择器获取用户选择的图片文件。 - **文件上传**...

    android开发中WebView的使用.pdf

    在Android开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内部嵌入网页内容,从而实现类似浏览器的功能。WebView基于WebKit渲染引擎,因此它可以很好地支持HTML、JavaScript和CSS等网络技术,极大地...

    Android之WebView使用Demo

    通过上述内容,开发者可以掌握`WebView`的基本使用和高级技巧,结合提供的博客链接(http://blog.csdn.net/shiquanqq/article/details/50912392),可以深入学习更多实践案例和解决常见问题的方法。在实际项目中,`...

    Android webview注入JS代码 修改网页内容操作

    Android webview注入JS代码 修改网页内容操作是Android开发中的一种常见操作,主要用于修改网页的内容以达到特定的效果。下面是关于Android webview注入JS代码 修改网页内容操作的详细知识点: 1. Android webview...

    android原生登录 +webview 记住登录状态

    在进行APP+H5混合开发的时候...这种情况在Android开发中比较常见,因为Android不会自动同步cookie到WebView。做iOS开发则不用担心这个问题,因为iOS内部已经实现了cookie同步.本文就是一个小的事例,从登录到同步cookie

    android 混合开发 webview java 和 h5

    在Android应用开发中,混合开发(Hybrid ...在博客《https://blog.csdn.net/weixin_42749765/article/details/88086273》中,作者详细介绍了如何在Android项目中配置和使用WebView...

    android 通过webview 取源码

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和显示网页内容。然而,在不同的Android版本中,Webview的实现和行为可能存在差异,这可能导致一些特定功能在某些版本上无法正常工作。"android 通过...

    Android中WebView使用

    以上就是关于Android中WebView的基本使用和一些常见操作。在实际项目中,你可能还需要根据需求进行更复杂的定制和优化,例如性能调整、内存管理、错误处理等。通过深入理解和实践,你可以将WebView的功能发挥到极致...

    webview通过代理访问网络

    在Android应用开发中,Webview是一个非常重要的组件,它允许开发者在应用内嵌入网页浏览功能。有时,我们可能需要让Webview通过代理服务器来访问网络,这在调试、测试或者特殊需求的应用场景中十分常见。本文将详细...

Global site tag (gtag.js) - Google Analytics