Android AgentWeb
2020-12-09 本文已影响0人
珹_
AgentWeb 是一个基于的 Android WebView ,极度容易使用以及功能强大的库,提供了 Android WebView 一系列的问题解决方案 ,并且轻量和极度灵活
基础用法
添加依赖
//一个就够了
implementation 'com.just.agentweb:agentweb:4.1.4' //
//androidx
implementation 'com.just.agentweb:agentweb-androidx:4.1.4' //
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 mAgentWeb = AgentWeb.with(this)
.setAgentWebParent((LinearLayout) mContainer, new LinearLayout.LayoutParams(-1, -1))
.useDefaultIndicator(R.color.color_fff)
.createAgentWeb()
.ready()
.go("https://www.baidu.com/");
注 我们在加载网页的时候 在网页里还有个登录 做免登录 需要传cookie (这里是键值对的方式传值 朋友说 要和你的web端核对 不一样的人 用的接收值的方法可能不一样)
//这里注意 要在 加载 之前调用这个方法
AgentWebConfig.syncCookie("你的url","ID=XXXX");
查看 cookies
String cookies=AgentWebConfig.getCookiesByUrl(url);
清除所有 cookie
AgentWebConfig.removeAllCookies();
清空缓存
AgentWebConfig.clearDiskCache(this);
修改 AgentWeb 默认的背景色
FrameLayout frameLayout = mAgentWeb.getWebCreator().getWebParentLayout();
frameLayout.setBackgroundColor(Color.BLACK);
最后说一下 如果在 cookie出现问题 不要着急 和你的后端 好好测试一下 指不定谁的问题