之前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. Android 异步加载

    Android 4.0 后 貌似规定了 在主线程中不允许访问网络,在子线程中不允许修改UI. 否则会抛出NetworkOnMainThreadException 异常 解决办法: 采用继承 Async ...

  2. nohup 程序名 & (使程序推到后台运行,即使终端关闭,该程序依然运行)

    IshallbeThatIshallbe:~ iamthat$ ps -ef |grep ping 502 450 1 0 9:30PM ?? 0:00.05 ping www.baidu.com 5 ...

  3. 李洪强iOS开发之【零基础学习iOS开发】【01-前言】02-准备

    在上一讲中,介绍了什么是iOS开发.说简单一点,iOS开发,就是开发运行在iPhone或者iPad上的软件.这么一说完,应该有很多人就会产生一些疑惑,比如学习iOS开发是不是一定要买iPhone?需不 ...

  4. ibatis缓存初探(1)

    一,IBATIS 缓存机制使用 1,sqlMapConfig.xml中配置   1.SqlMapConfig.xml中 <settings cacheModelsEnabled="tr ...

  5. linux内核--进程与线程

    http://blog.csdn.net/yusiguyuan/article/details/12154823 在<linux内核设计与实现>中第三章讲解了进程管理,在关于进程和线程的概 ...

  6. Orcle数据库查询练习复习:三

    一.题目 1.与“张三”同乡的男生姓名 select * from student where snativeplace=(select snativeplace from student where ...

  7. (转)java性能调优

    本文转自:http://blog.csdn.net/lilu_leo/article/details/8115612 一.类和对象使用技巧 1.尽量少用new生成新对象 用new创建类的实例时,构造雨 ...

  8. Failed to execute goal.....webxml attribute is required...

    maven在打包项目的时候报错 Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-wa ...

  9. Linux下安装、配置、启动Apache

    http://www.cnblogs.com/zhuque/archive/2012/11/03/2763352.html#

  10. 22.allegro中PCB打印设置[原创]

    1. -- 2. 3. 4. ----