之前android虚拟机一直都可以直接联网,今天写了一个WebView之后,突然报出了Web page not available的错误,但是查看虚拟机自带的浏览器,是可以上网的,所以检查还是代码的问题,这里给大家列出一些android开发中使用WebView时需要注意的一些小细节,大家共享。

1、首先是出现Web page not available的解决方案:

检查AndroidManifest.xml是否添加了权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET"

添加方法:在与<application>同级的地方添加<uses-permission android:name="android.permission.INTERNET"/>

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.google.com"); 
       本地文件用:webView.loadUrl("file:///android_asset/XX.html");  本地文件存放在:assets文件中

5、如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。
       给WebView添加一个事件监听对象(WebViewClient)      
  
       并重写其中的一些方法
           shouldOverrideUrlLoading:对网页中超链接按钮的响应。
                当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url 
           onLoadResource   
           onPageStart  
           onPageFinish  
           onReceiveError
           onReceivedHttpAuthRequest
          
6、如果用webview点链接看了很多页以后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件。
    覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法。
    public boolean onKeyDown(int keyCoder,KeyEvent event){
            if(webView.canGoBack() && keyCoder == KeyEvent.KEYCODE_BACK){
                   webview.goBack();   //goBack()表示返回webView的上一页面
                   return true;
                  }
           return false;
       }

文字的结尾,给大家共享一下常用的一些使用权限:

添加WiFi以及访问网络的权限:
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" ></uses-permission>
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" ></uses-permission>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission>
     <uses-permission android:name="android.permission.INTERNET" ></uses-permission>
     <uses-permission android:name="android.permission.WAKE_LOCK" ></uses-permission>

操作外部存储设备文件:
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

录音时需要的权限:
    <uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

录制视频时需要的权限:
    <uses-permission android:name="android.permission.CAMERA"></uses-permission>
    <uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

发送短信:
    <uses-permission android:name="android.permission.SEND_SMS" ></uses-permission>

收短信:
    <uses-permission android:name="android.permission.RECEIVE_SMS" />

收彩信:
    <uses-permission android:name="android.permission.READ_SMS" />

GPS:
    <!-- 权限 :  连接网络    -->
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

<!-- 权限 :  GPS定位     -->
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

<!-- 权限 : AGPS定位      -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>

Android WebView常见问题的解决方案总结----例如Web page not available的更多相关文章

  1. Android WebView常见问题及解决方案汇总

    Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论. 于是 ...

  2. Android之Android WebView常见问题及解决方案汇总

    如有转载,请声明出处: 时之沙: http://blog.csdn.net/t12x3456 Android WebView常见问题解决方案汇总: 就目前而言,如何应对版本的频繁更新呢,又如何灵活多变 ...

  3. Android WebView常见问题及解决方案汇总【很全很实用】

    http://www.cnblogs.com/olartan/p/5713013.html

  4. Android WebView常见问题解决方案汇总

    问题目录: 1.为WebView自定义错误显示界面: 2.WebView cookies清理 3.清理cache 和历史记录 4.判断WebView是否已经滚动到页面底端 5.URL拦截 6.处理We ...

  5. Android WebView 常见问题

    1.为WebView自定义错误显示界面: /** * 显示自定义错误提示页面,用一个View覆盖在WebView */ protected void showErrorPage() { LinearL ...

  6. android WebView交互优化

    安卓的WebView一般是嵌套在activity或者fragment中的,但是如果在这种activity页面上点击返回按钮,一般会finish掉当前activity.其实是应该关闭当前的WebView ...

  7. Android Webview SSL 自签名安全校验解决方案

    服务器证书校验主要针对 WebView 的安全问题. 在 app 中需要通过 WebView 访问 url,因为服务器采用的自签名证书,而不是 ca 认证,使用 WebView 加载 url 的时候会 ...

  8. Atitit.h5 web webview性能提升解决方案-----fileStrore缓存离线存储+http方案

    Atitit.h5 web webview性能提升解决方案-----fileStrore缓存离线存储+http方案 1. 业务场景 android+webview h5 css背景图性能提升1 2. ...

  9. android webview web里面的数据透传到java以及java的数据透传到web

    详见: http://tutorials.jenkov.com/android/android-web-apps-using-android-webview.html#android-web-app- ...

随机推荐

  1. POJ 2948 Martian Mining(DP)

    题目链接 题意 : n×m的矩阵,每个格子中有两种矿石,第一种矿石的的收集站在最北,第二种矿石的收集站在最西,需要在格子上安装南向北的或东向西的传送带,但是每个格子中只能装一种传送带,求最多能采多少矿 ...

  2. hdu 4038 Stone

    思路: 如果负数的个数为偶数则不必改变,为奇数就将最大负数变为正: 对于正数,尽量将1,2变为3即可. 代码如下: #include<cstring> #include<iostre ...

  3. Meteor 简介

    简介 先来活动一下大脑.假设你坐在电脑面前,在两个窗口中打开同一个文件夹. 在其中一个窗口中删除一个文件,另一个窗口中的这个文件会消失吗? 不用实际操作你也知道肯定会消失的.在本地文件系统中的操作,不 ...

  4. oracle触发器详解(转)

    触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 8.1 触发器类型 触发器在数据库里以独立的对象存储,它与存储过 ...

  5. cv论文(SPARSE REPRESENTATION相关)

    上个博文我讲了一些CNN相关的论文,比较浅显都是入门知识,这节课来总结一些稀疏表示方面的文章.至于上个博文说到的要讲的sparse coding的知识,我将会放在Deep Learning的专题里面讲 ...

  6. python 利用imap接收邮件,并保存附件

    def SaveAttachImap():# login the imap server ,retrive the  new mails ,and download the attachments. ...

  7. android MD5

    public static String MD5(String str) { MessageDigest md5 = null; try { md5 = MessageDigest.getInstan ...

  8. Awesome-awesome-awesome

    Awesome-awesome-awesome A curated list of curated lists of awesome lists. awesome-awesomes @sindreso ...

  9. ZOJ 3790 Consecutive Blocks (离散化 + 暴力)

    题目链接 虽然是一道暴力的题目,但是思路不好想.刚开始还超时,剪枝了以后1200ms,不知道为什么还是这么慢. 题意:给你n个点,每个点有一种颜色ci,给你至多k次删除操作,每次删除一个点,问最多k次 ...

  10. JDBC 事务控制

    一.简介: 前面一遍提到了jdbc事务相关的概念.从中了解到事务应具有ACID特性.所以对于javaweb开发来说,某一个service层的方法,应该是一个事务,应该是具有原子性的.特别是当一个ser ...