webviewactivity
WebView注意点,注释里有说明
package com.example.suneyaenews; import com.example.http.HttpThread; import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageButton;
import android.widget.Toast; public class WebViewActivity extends Activity implements OnClickListener {
private static String HAO123 = "https://www.hao123.com/";
private static String BAIDU = "https://www.baidu.com/";
private static String HOME = "http://m.hao123.com/?vit=h123&from=3w123";
private WebView webView;
private ImageButton imgbtn_back, imgbtn_ahead, imgbtn_home, imgbtn_more,
imgbtn_tag; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
initImgbtn();
webView = (WebView) findViewById(R.id.id_webview);
// new HttpThread("www.baidu.com", webView, new Handler()).start();
webView.loadUrl(HAO123);// 打开网页的第一种方式:使用webview来访问 setWebView();// 设置默认打开行为
// webView.loadUrl("file:///android_asset/xx.html ");//没成功,
// Uri uri = Uri.parse("https://www.hao123.com/");
// Intent intent = new Intent(Intent.ACTION_VIEW,uri);
// startActivity(intent);//打开网页的第二种方式:使用intent
// boolean flag = webView.isPressed();
// prompt("webView.isPressed():"+flag); webView.getSettings().setJavaScriptEnabled(true);// 设置启动javascript } private void setWebView() {
// //覆盖webView默认使用第三方或者系统浏览器打开网页的行为,
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
// true:在webview中打开, false:用系统或者第三方浏览器打开
view.loadUrl(url);
return true;
} @Override
public void onLoadResource(WebView view, String url) {
// TODO Auto-generated method stub
// prompt("正在加载资源,onLoadResource,url:"+url);
}
// 这个WebViewClient的作用:帮助WebView去处理一些页面控制,和请求通知。
});
} private void initImgbtn() {
// imgbtn_back, imgbtn_ahead, imgbtn_home, imgbtn_more,
// imgbtn_tag
imgbtn_back = (ImageButton) findViewById(R.id.id_btn_back);
imgbtn_ahead = (ImageButton) findViewById(R.id.id_btn_ahead);
imgbtn_home = (ImageButton) findViewById(R.id.id_btn_home);
imgbtn_more = (ImageButton) findViewById(R.id.id_btn_more);
imgbtn_tag = (ImageButton) findViewById(R.id.id_btn_tag);
imgbtn_back.setOnClickListener(this);
imgbtn_ahead.setOnClickListener(this);
imgbtn_home.setOnClickListener(this);
imgbtn_more.setOnClickListener(this);
imgbtn_tag.setOnClickListener(this);
} /**
* 改写物理按钮返回的逻辑,
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == event.KEYCODE_BACK) {
if (webView.canGoBack()) {
prompt("返回上一页面...");
webView.goBack();// 返回上一页面
return true;
} else {
prompt("退出程序...");
System.exit(0);
}
}
return super.onKeyDown(keyCode, event);
} private void prompt(String hint, int duration) {
Toast.makeText(this, hint, duration).show();
} /**
* 弹出提示
*
* @param hint
*/
private void prompt(String hint) {
Toast.makeText(this, hint, 100).show();
} @Override
public void onClick(View v) {
int ic_id = v.getId();
switch (ic_id) {
case R.id.id_btn_back:
if (webView.canGoBack()) {
prompt("返回上一页面...");
webView.goBack();
}
break;
case R.id.id_btn_ahead:
if (webView.canGoForward()) {
prompt("返回下一页面...");
webView.goForward();// 返回上一页面
} else {
prompt("小主,这已经是最后一页了...");
}
break;
case R.id.id_btn_home:
// 如果当前url不是HOME页,那么就加载到home页,否则什么也不干
if (!HOME.equals(webView.getUrl())) {
prompt("回到主页... " + webView.getUrl());
webView.loadUrl(HOME);
setWebView();// 设置默认打开行为
}
break;
case R.id.id_btn_more: break;
case R.id.id_btn_tag: break;
default:
break;
}
}
}
webviewactivity的更多相关文章
- AndroidProjects个人项目归纳
AndroidProjects 个人总结归纳-目录大纲 Data Binding框架MVVM BaseView CollapseView 更新中... 项目地址:https://github.com/ ...
- Android应用安全开发之浅谈网页打开APP
一.网页打开APP简介 Android有一个特性,可以通过点击网页内的某个链接打开APP,或者在其他APP中通过点击某个链接打开另外一个APP(AppLink),一些用户量比较大的APP,已经通过发布 ...
- Android-webview和js互相调用
Android-webview和js互相调用 Android 和 H5 都是移动开发应用的非常广泛.市面上很多App都是使用Android开发的,但使用Android来开发一些比较复杂附属类,提示性的 ...
- Android动态方式破解apk终极篇(加固apk破解方式)
一.前言 今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为: 第一篇:如何使用Eclipse动态调试smali源码 第二篇:如何使用IDA动态调试SO文件 现在要说的就是最后一篇了,如何应 ...
- WebView的使用及添加进度条
实现的效果比较简单类似于微信打开网页,头部有个进度条显示加载进度 下载地址:http://download.csdn.net/detail/qq_29774291/9666941 1.在安卓端加载一个 ...
- 初识selendroid
Testerhome社区的lihuazhang对selendroid官网的部分内容进行了翻译和讲解. 以下内容均摘自lihuazhang.感谢lihuazhang的讲解.原文地址:https://gi ...
- 【转】JS 和 java 交互
android中如何获得webView中的内容发表于 2011 年 06 月 13 日 由 admin本文概要:在程序中经常会用到webView来显示网页,但如果能够得到网页中的内容呢,本文将给你一个 ...
- 子线程简单实现(ZT)
4.0以后的android在主线程中不可以直接访问网络,就得用以下的方法来搞,嘿嘿 在主函数中发送一个空的消息 : new Thread(){ @Override public void run() ...
- 从手机获取图片让WebView支持本地上传图片
一,从本地获取相册中的图片,并获取图片的URI 从本地选择图片上传到服务器时,首先要打开本地图片或文件管理器选择要上传的文件,代码如下 Intent intent =newIntent(Intent. ...
随机推荐
- 使用 PyQt 转换网页到 PDF(使用QtWebKit加载完毕后,打印整个窗口就行了,真简单!)
import sys try: from PyQt4 import QtWebKit from PyQt4.QtCore import QUrl from PyQt4.QtGui import QAp ...
- centos6.4-x86-64系统更新系统自带Apache Http Server
系统自带Apache Http Server 版本比较老,有漏洞.现在对Apache Http Server进行升级.总体思路:先删除老的,再安装新的.详细步骤如下: 1 删除老版本 1.1 删除老A ...
- JAVA排序(一) Comparable接口
昨天接到一个实习公司的电话面试,来的很突然,没有准备. 由于以前没用过,在被他问及是否用过JAVA的排序工具Comparable与Comparator时,没有回答上来,只能实话实说没有用过. 感觉太丢 ...
- speex 回声消除的用法
speex 回声消除的用法 分类: speex AEC 回声消除 2012-11-13 11:24 1336人阅读 评论(0) 收藏 举报 speex的回声消息 就是speex_echo_cancel ...
- kvm 存储
1,virt-install --connect qemu:///system --name web01_lvm --ram 1024 --vcpus=1 --disk=/dev/vg_lvm/web ...
- TP的SDK的调用
1,SDK简介 本SDK是基于ThinkPHP开发类库扩展,因此只能在ThinkPHP平台下使用(ThinkPHP版本要求2.0以上).DEMO中用到了控制器分层,因此运行DEMO需使用ThinkPH ...
- AppStore被拒原因及总结
4.5 - Apps using background location services must provide a reason that clarifies the purpose of th ...
- 视频主观质量评价工具:MSU Perceptual Video Quality tool
MSU Perceptual Video Quality tool是莫斯科国立大学(Moscow State University)的Graphics and Media Lab制作的一款视频主观评价 ...
- 记userscripts.org
发现一些Firefox用户脚本不起作用,userscripts.org访问不能有一个很长的一段时间,我还以为出了什么问题没出去检查.前几天有时间检查脚本,在路上,然后返回到userscripts.or ...
- Android 动画animation 深入分析
转载请注明出处:http://blog.csdn.net/farmer_cc/article/details/18259117 Android 动画animation 深入分析 前言:本文试图通过分析 ...