1.普通加载网页
2.下载文件监听
3.jsCallAndroid
4.androidCallJs
5.上传文件(图片、视频、音频等)
6.同步cookie
7.获取标题、加载进度、加载错误的回调
8.优化webview的一些坑
9.解决网页重定向导致回退问题
10.解决网页加载白板(H5启用本地缓存问题)
11.js函数注入
12.加载html字符串
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add the dependency
dependencies {
implementation 'com.github.serenadegx:XRWebview:1.2.3'
}
普通网页加载:
XRWebView.with(webView)
.simple()
.serZoomEnable(true)
.setImageLoadEnable(true)
.setSslEnable(true)
.build().loadUrl(url, new BaseWebViewListener() {
@Override
public void onLoadError(int errorCode, String description) {
}
@Override
public void onGetTitle(String title) {
setTitle(title);
}
@Override
public void onProgress(int progress) {
if (progress == 100) {
pb.setVisibility(View.GONE);
} else {
pb.setVisibility(View.VISIBLE);
pb.setProgress(progress);
}
}
});
回退及回收:
//回收
XRWebView.releaseWebView();
//回退
XRWebView.goBack(new GoBackListener() {
@Override
public void onWebFinish() {
finish();
}
});