package cn.com.web;
import cn.com.web.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.View.OnTouchListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
/**
* 浏览器
*
*/
public class WebViewApp extends Activity {
/** webview控件 */
private WebView webView;
/** 当前url地址 */
private String browserUrl = "file:///android_asset/error.html";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// getWindow().requestFeature(Window.FEATURE_PROGRESS);// 用title bar做进度条
// requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);// 用title
setContentView(R.layout.browser_layout);
initWebView();
}
/**
* 初始化webview
*/
private void initWebView() {
// 得到webView的引用
webView = (WebView) findViewById(R.id.browser_layout_webview);
// 支持JavaScript
webView.getSettings().setJavaScriptEnabled(true);
// 支持缩放
webView.getSettings().setBuiltInZoomControls(true);
// 支持保存数据
webView.getSettings().setSaveFormData(false);
// 清除缓存
webView.clearCache(true);
// 清除历史记录
webView.clearHistory();
// 联网载入
webView.loadUrl(browserUrl);
// String baseUrl = "file:///android_asset";
// webView.loadDataWithBaseURL(baseUrl, browserUrl, "text/html",
// "utf-8", null);
// 设置
webView.setWebViewClient(new WebViewClient() {
/** 开始载入页面 */
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
setProgressBarIndeterminateVisibility(true);// 设置标题栏的滚动条开始
browserUrl = url;
super.onPageStarted(view, url, favicon);
}
/** 捕获点击事件 */
public boolean shouldOverrideUrlLoading(WebView view, String url) {
webView.loadUrl(url);
return true;
}
/** 错误返回 */
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
}
/** 页面载入完毕 */
@Override
public void onPageFinished(WebView view, String url) {
setProgressBarIndeterminateVisibility(false);// 设置标题栏的滚动条停止
super.onPageFinished(view, url);
}
});
webView.setWebChromeClient(new WebChromeClient() {
/** 设置进度条 */
public void onProgressChanged(WebView view, int newProgress) {
// 设置标题栏的进度条的百分比
WebViewApp.this.getWindow().setFeatureInt(
Window.FEATURE_PROGRESS, newProgress * 100);
super.onProgressChanged(view, newProgress);
}
/** 设置标题 */
public void onReceivedTitle(WebView view, String title) {
WebViewApp.this.setTitle(title);
super.onReceivedTitle(view, title);
}
});
webView.addJavascriptInterface(new RemoteInvokeService(WebViewApp.this,
webView, "http://www.baidu.com/"), "js_invoke");
}
/**
* 捕获返回键
*/
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack())) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
android webview与 js交互通信
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
![avatar](https://profile-avatar.csdnimg.cn/7b52ae82597e4de6a8e15a9fd1fa51f2_jdsjlzx.jpg!1)
一叶飘舟
- 粉丝: 1w+
- 资源: 222
最新资源
- AutoHotKey 2.0中文帮助文件
- 基于Docker-compose的Elasticsearch集群每个节点均是独立docker-compose配置而成源码.zip
- 目标检测-零售食品LOGO检测数据集-40000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-30000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-20000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-10000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 基于GUI+MYSQL+JAVA图书管理系统文档说明+源码(高分大作业项目).zip
- 基于Qt使用C++实现图书管理系统源码+数据库(95分以上).zip
- 基于GUI+MYSQL+JAVA票务管理系统文档介绍+源码+数据库(高分大作业).zip
- Java项目-购物网站系统(java+Servlet+JSP+Mysql)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)