<div style="display: flex;flex-direction: row;justify-content: center" width="100%">
<img src="./img/logo.png"></img>
</div>
## AgentWeb 介绍
AgentWeb 是一个基于的 Android WebView ,极度容易使用以及功能强大的库,提供了 Android WebView 一系列的问题解决方案 ,并且轻量和极度灵活,体验请下载的
[agentweb.apk](https://github.com/Justson/AgentWeb/raw/master/agentweb.apk),
或者你也可以到 Google Play 里面下载 [AgentWeb](https://play.google.com/store/apps/details?id=com.just.agentweb.sample) ,
详细使用请参照上面的 Sample 。
## 引入
* Gradle
```
implementation 'com.just.agentweb:agentweb:4.1.4' // (必选)
implementation 'com.just.agentweb:filechooser:4.1.4'// (可选)
implementation 'com.download.library:Downloader:4.1.4'// (可选)
```
* androidx
```
implementation 'com.just.agentweb:agentweb-androidx:4.1.4' // (必选)
implementation 'com.just.agentweb:filechooser-androidx:4.1.4'// (可选)
implementation 'com.download.library:downloader-androidx:4.1.4'// (可选)
```
## 相关
* [flying-pigeon跨进程IPC组件](https://github.com/Justson/flying-pigeon)
* [AgentWebX5](https://github.com/Justson/AgentWebX5)
* [WebView 进度条](https://github.com/Justson/CoolIndicator)
* [Downloader 一个轻量的文件下载器](https://github.com/Justson/Downloader)
## 使用
#### 基础用法
```java
mAgentWeb = AgentWeb.with(this)
.setAgentWebParent((LinearLayout) view, new LinearLayout.LayoutParams(-1, -1))
.useDefaultIndicator()
.createAgentWeb()
.ready()
.go("http://www.jd.com");
```
## 效果图
<a href="img/img-function-list.png"><img src="img/img-function-list.png" width="30%"/></a> <a href="img/img-permission.png"><img src="img/img-permission.png" width="30%"/></a> <a href="img/img-sonic.png"><img src="img/img-sonic.png" width="30%"/></a>
<a href="img/img-scheme.png"><img src="img/img-scheme.png" width="30%"/></a> <a href="img/img-download.png"><img src="img/img-download.png" width="30%"/></a> <a href="img/img-bounce.png"><img src="img/img-bounce.png" width="30%"/></a>
<a href="img/jd.png"><img src="img/jd.png" width="30%"/></a> <a href="img/wechat pay.png"><img src="img/wechat pay.png" width="30%"/></a> <a href="img/alipay.png"><img src="img/alipay.png" width="30%"/></a>
<a href="img/js.png"><img src="img/js.png" width="30%"/></a> <a href="img/custom setting.png"><img src="img/custom setting.png" width="30%"/></a> <a href="img/video.png"><img src="img/video.png" width="30%"/></a>
* #### 调用 Javascript 方法拼接太麻烦 ? 请看 。
```javascript
function callByAndroid(){
console.log("callByAndroid")
}
mAgentWeb.getJsAccessEntrace().quickCallJs("callByAndroid");
```
* #### Javascript 调 Java ?
```java
mAgentWeb.getJsInterfaceHolder().addJavaObject("android",new AndroidInterface(mAgentWeb,this));
window.android.callAndroid();
```
* #### 事件处理
```java
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (mAgentWeb.handleKeyEvent(keyCode, event)) {
return true;
}
return super.onKeyDown(keyCode, event);
}
```
* #### 跟随 Activity Or Fragment 生命周期 , 释放 CPU 更省电 。
```java
@Override
protected void onPause() {
mAgentWeb.getWebLifeCycle().onPause();
super.onPause();
}
@Override
protected void onResume() {
mAgentWeb.getWebLifeCycle().onResume();
super.onResume();
}
@Override
public void onDestroyView() {
mAgentWeb.getWebLifeCycle().onDestroy();
super.onDestroyView();
}
```
* #### 全屏视频播放
```
<!--如果你的应用需要用到视频 , 那么请你在使用 AgentWeb 的 Activity 对应的清单文件里加入如下配置-->
android:hardwareAccelerated="true"
android:configChanges="orientation|screenSize"
```
* #### 定位
```
<!--AgentWeb 是默认允许定位的 ,如果你需要该功能 , 请在你的 AndroidManifest 文件里面加入如下权限 。-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
```
* #### WebChromeClient 与 WebViewClient
```java
AgentWeb.with(this)
.setAgentWebParent(mLinearLayout,new LinearLayout.LayoutParams(-1,-1) )
.useDefaultIndicator()
.setReceivedTitleCallback(mCallback)
.setWebChromeClient(mWebChromeClient)
.setWebViewClient(mWebViewClient)
.setSecutityType(AgentWeb.SecurityType.strict)
.createAgentWeb()
.ready()
.go(getUrl());
private WebViewClient mWebViewClient=new WebViewClient(){
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
//do you work
}
};
private WebChromeClient mWebChromeClient=new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
//do you work
}
};
```
* #### 返回上一页
```java
if (!mAgentWeb.back()){
AgentWebFragment.this.getActivity().finish();
}
```
* #### 获取 WebView
```java
mAgentWeb.getWebCreator().getWebView();
```
* #### 查看 Cookies
```java
String cookies=AgentWebConfig.getCookiesByUrl(targetUrl);
```
* #### 同步 Cookie
```java
AgentWebConfig.syncCookie("http://www.jd.com","ID=XXXX");
```
* #### MiddlewareWebChromeBase 支持多个 WebChromeClient
```java
//略,请查看 Sample
```
* #### MiddlewareWebClientBase 支持多个 WebViewClient
```java
//略,请查看 Sample
```
* #### 清空缓存
```java
AgentWebConfig.clearDiskCache(this.getContext());
```
* #### 权限拦截
```java
protected PermissionInterceptor mPermissionInterceptor = new PermissionInterceptor() {
@Override
public boolean intercept(String url, String[] permissions, String action) {
Log.i(TAG, "url:" + url + " permission:" + permissions + " action:" + action);
return false;
}
};
```
* #### AgentWeb 完整用法
```java
//略,请查看 Sample
```
* #### AgentWeb 所需要的权限(在你工程中根据需求选择加入权限)
```
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CAMERA"></uses-permission>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"></uses-permission>
```
* #### AgentWeb 所依赖的库
```
compile "com.android.support:design:${SUPPORT_LIB_VERSION}" // (3.0.0开始该库可选)
compile "com.android.support:support-v4:${SUPPORT_LIB_VERSION}"
SUPPORT_LIB_VERSION=27.0.2(该值会更新)
```
## 混淆
如果你的项目需要加入混淆 , 请加入如下配置
```java
-keep class com.just.agentweb.** {
*;
}
-dontwarn com.just.agentweb.**
```
Java 注入类不要混淆 , 例如 sample 里面的 AndroidInterface 类 , 需要 Keep 。
```java
-keepclassmembers class com.just.agentweb.sample.common.AndroidInterface{ *; }
```
## 注意事项
* 支付宝使用需要引入支�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
AgentWeb介绍 AgentWeb是一个基于的Android WebView,极度容易使用以及功能强大的库,提供了Android WebView一系列的问题解决方案,并且轻量和极度灵活,体验请下载的 ,或者您也可以到Google Play里面下载 ,详细使用请参照上面的Sample。 ♡ Gradle implementation 'com.just.agentweb:agentweb:4.1.4' // (必选) implementation 'com.just.agentweb:filechooser:4.1.4'// (可选) implementation 'com.download.library:Downloader:4.1.4'// (可选) 安卓 implementation 'com.just.agentweb:agentweb-androidx:4.1.4' //
资源推荐
资源详情
资源评论
收起资源包目录
AgentWeb:AgentWeb是基于Android WebView的功能强大的库 (219个子文件)
agentweb.apk 2.06MB
gradlew.bat 2KB
button.css 2KB
upload.css 495B
.gitignore 704B
.gitignore 14B
.gitignore 7B
.gitignore 7B
build.gradle 3KB
build.gradle 2KB
build.gradle 1KB
build.gradle 1KB
settings.gradle 62B
gradlew 5KB
uploadfile.html 6KB
jsuploadfile.html 5KB
demo.html 3KB
hello.html 2KB
sms.html 1KB
alipaySdk-20180601.jar 266KB
alipaySdk-20180601.jar 266KB
gradle-wrapper.jar 52KB
NativeDownloadActivity.java 37KB
AgentWebUtils.java 29KB
FileChooser.java 29KB
AgentWeb.java 28KB
DefaultWebClient.java 22KB
AgentWebFragment.java 21KB
AgentWebView.java 20KB
MainActivity.java 14KB
WebChromeClientDelegate.java 12KB
JsCallJava.java 11KB
DefaultUIController.java 11KB
DefaultChromeClient.java 11KB
WebIndicator.java 11KB
CommonActivity.java 9KB
DefaultWebCreator.java 9KB
DefaultDownloadImpl.java 9KB
ActionActivity.java 8KB
WebViewClientDelegate.java 8KB
DefaultDesignUIController.java 7KB
AgentWebConfig.java 7KB
AbsAgentWebSettings.java 6KB
BaseAgentWebActivity.java 6KB
BaseWebActivity.java 6KB
BaseAgentWebFragment.java 6KB
WebParentLayout.java 5KB
NestedScrollAgentWebView.java 5KB
VideoImpl.java 5KB
SonicJavaScriptInterface.java 5KB
AbsAgentWebUIController.java 4KB
DefaultSonicRuntimeImpl.java 4KB
JsbridgeWebFragment.java 4KB
UrlLoaderImpl.java 4KB
JsCallback.java 4KB
JsAgentWebFragment.java 4KB
EasyWebFragment.java 3KB
AutoHidenToolbarActivity.java 3KB
HttpHeaders.java 3KB
CustomWebViewFragment.java 3KB
BaseJsAccessEntrace.java 3KB
AgentWebUIControllerImplBase.java 3KB
JsInterfaceHolderImpl.java 3KB
ProcessUtils.java 3KB
Action.java 3KB
BounceWebFragment.java 3KB
EasyWebActivity.java 3KB
FileParcel.java 2KB
UIController.java 2KB
CoolIndicatorLayout.java 2KB
CustomSettings.java 2KB
BottomNavigationViewBehavior.java 2KB
SmartRefreshWebFragment.java 2KB
JsBaseInterfaceHolder.java 2KB
VasSonicFragment.java 2KB
SonicImpl.java 2KB
WebSecurityLogicImpl.java 2KB
AgentWebJsInterfaceCompat.java 2KB
CustomIndicatorFragment.java 2KB
IndicatorHandler.java 2KB
RemoteWebViewlActivity.java 2KB
SonicSessionClientImpl.java 2KB
AgentWebSettingsImpl.java 2KB
EventHandlerImpl.java 2KB
JsAccessEntraceImpl.java 2KB
MiddlewareWebViewClient.java 2KB
MiddlewareWebClientBase.java 2KB
LogUtils.java 2KB
LollipopFixedWebView.java 2KB
DefaultWebLifeCycleImpl.java 2KB
WebSecurityControllerImpl.java 2KB
MiddlewareWebChromeBase.java 2KB
BaseIndicatorView.java 1KB
App.java 1KB
WebActivity.java 1KB
AgentWebPermissions.java 1KB
GuideItemEntity.java 1KB
IWebLayout.java 1KB
SonicWebViewClient.java 1KB
SonicWebViewClient.java 1KB
共 219 条
- 1
- 2
- 3
苏利福
- 粉丝: 27
- 资源: 4518
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ssm基于ssm的大型商场会员管理系统+jsp.zip
- ssm基于SSM的高校共享单车管理系统的设计与实现+vue.zip
- ssm基于ssm的“游侠”旅游信息管理系统+jsp.zip
- ssm基于spring框架的中小企业人力资源管理系统的设计及实现+jsp.zip
- ssm基于Spring框架的电子相册系统设计与实现+jsp.zip
- ssm基于Spring MVC框架的在线电影评价系统设计与实现+jsp.zip
- ssm基于jsp的学生作业管理系统+jsp.zip
- ssm基于JSP的乡镇自来水收费系统+jsp.zip
- ssm基于MVC的舞蹈网站的设计与实现+vue.zip
- 基于PSO粒子群PID控制器参数整定粒子群PID psopid 基于粒子群算法整定PID控制器,实现PID控制器参数的自整定(PSO-PID) matlab编写,源码注释详细具体如图,评价指标详
- springboot校园二手交易系统(源码+数据库)301720
- ssm基于jsp的实验室考勤管理系统网页的设计与实现+jsp.zip
- ssm基于jsp的网上手机商城+jsp.zip
- ssm基于jsp的精品酒销售管理系统+jsp.zip
- ssm基于Java语言校园快递代取系统的设计与实现+jsp.zip
- ssm基于Java技术的会员制度管理的商品营销系统的设计与实现+vue.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页