当前位置: 首页 > news >正文

江西商城网站建设公司网站界面设计规则

江西商城网站建设公司,网站界面设计规则,学院网站群建设方案,成都酒店设计十大公司排名目录 一、项目背景 1.1 需求 1.2 设备 1.3 解决方案 二、WebViewUpgrade 接入 2.1 支持版本 2.2 接入 2.2.1 导入项目(我使用的是这个) 2.2.2 implementation 2.3 使用 2.4 WebView 相关推荐 一、项目背景 1.1 需求 项目需要使用WebView加载合作方公司的Url(里面功…目录 一、项目背景 1.1 需求 1.2 设备 1.3 解决方案 二、WebViewUpgrade 接入 2.1 支持版本 2.2 接入 2.2.1 导入项目(我使用的是这个) 2.2.2 implementation 2.3 使用 2.4 WebView 相关推荐 一、项目背景 1.1 需求 项目需要使用WebView加载合作方公司的Url(里面功能比较多) 使用了ES6(ECMAScript 6.0以下简称 ES6是 JavaScript 语言的下一代标准已经在 2015 年 6 月正式发布了所以也被叫作ES2015) JavaScript 使用的函数要求 chrome 最低版本是85。 一系列原因导致WebView加载该链接报错合作方那边因为某些原因不想改变现有的代码实现等。需要我们自行解决那就开整呗。 1.2 设备 Android 8.1 WebView 版本 60.xxxx.xxxx.xx好吧忘记版本了页面打不开) Android 8.1 WebView 版本 61.0.3163.98(页面打不开) Android 11  WebView 版本 83.0.4103.120视频无法播放厂商给的答复是不支持具体原因没说 查看版本号 可以进入设置-开发者模式-Webview实现可以看到 Webview 内核版本号。 adb 命令 adb shell pm dump com.android.webview|grep version adb shell pm dump com.android.webview|grep versionversionCode410412053 minSdk21 targetSdk30versionName83.0.4103.120signaturesPackageSignatures{48d4530 version:3, signatures:[63b96fc5], past signatures:[]} 1.3 解决方案 1.腾讯X5内核还是加载失败以为是集成错误。特意使用微信打开该链接也是加载失败。 2.更新安装包因为内嵌WebView的是com.android.webview。 2.1 下载了包名为 95.0.4638.50-463805003_minAPI21版本的包进行覆盖安装-报错提示签名文件不一致。 2.2 下载com.android.google.weview_95.0.4638.74_APKPure安装成功了加载还是报错。而且在WebView实现-不可选择com.android.google.webview。 3.修改framework-res.apk中配置允许WebView实现选择com.android.google.webview。这种操作不太合适2C需要root权限修改系统文件一不留神就可能产生其他问题。 4.使用 WebViewUpgrade这个还是比较强大的对WebView内核进行升级。已解决低版本无法加载url、视频无法播放的问题。 二、WebViewUpgrade 接入 WebViewUpgrade的创建者遇到的问题华为机上因为WebView内核的Chromium版本低于107无法播放H265视频的情况为了解决上述问题可以用JS实现H265播放但是会比较卡就想不能让WebView用应用内的APK作为内核。 2.1 支持版本 com.google.android.webview122.0.6261.64 com.android.webview113.0.5672.136 com.huawei.webview14.0.0.331 com.android.chrome122.0.6261.43 com.amazon.webview.chromium118-5993-tv.5993.155.51 当然你也可以找到其他版本下载安装即可。例如 com.android.webview我觉得113版本太高那么你可以下载一个95版本的。或者你不想使用com.android.webview 改用com.google.android.webview也是可以的。 2.2 接入 2.2.1 导入项目(我使用的是这个) 将Demo的core和download-source模块直接导入到自己项目修改core中 implementation androidx.appcompat:appcompat:1.6.1的版本。 2.2.2 implementation implementation io.github.jonanorman.android.webviewup:core:0.1.0// 不需要下载APK时使用 implementation io.github.jonanorman.android.webviewup:download-source:0.1.0// 需要下载APK使用如果是低版本可能会报错。core中 implementation androidx.appcompat:appcompat:1.6.1的版本比较高需要兼容的SDK版本也比较高。 解决方案 1.提高项目 SDK 版本。 2.使用exclude。 以上两种方式都可以。 2.3 使用 设置 private void setWebView(){UpgradeInfo upgradeInfo  new UpgradeInfo(com.android.webview,113.0.5672.136,https://mirror.ghproxy.com/https://raw.githubusercontent.com/JonaNorman/ShareFile/main/com.android.webview_113.0.5672.13_armeabi-v7a.zip,网络);String  systemWebViewPackageName  WebViewUpgrade.getSystemWebViewPackageName();if (systemWebViewPackageName ! null systemWebViewPackageName.equals(upgradeInfo.packageName) VersionUtils.compareVersion( WebViewUpgrade.getSystemWebViewPackageVersion(),upgradeInfo.versionName)  0) {//Toast.makeText(getApplicationContext(), system webView is larger than the one to be upgraded, so there is no need to upgrade, Toast.LENGTH_LONG).show();return;}UpgradeSource upgradeSource  upgradeInfo.toUpgradeSource(RobotApplication.getInstance());if (upgradeSource  null) {return;}WebViewUpgrade.upgrade(upgradeSource);updateUpgradeWebViewStatus();} } 这里我使用的是网络下载: 包名com.android.webview; 版本号113.0.5672.136 下载内核地址https://mirror.ghproxy.com/https://raw.githubusercontent.com/JonaNorman/ShareFile/main/com.android.webview_113.0.5672.13_armeabi-v7a.zip //更新状态private void updateUpgradeWebViewStatus() {if (WebViewUpgrade.isProcessing()) {LogUtils.e(WebVIewUpgrade,Upgrading...);} else if (WebViewUpgrade.isFailed()) {LogUtils.e(WebVIewUpgrade,Fail...);} else if (WebViewUpgrade.isCompleted()) {LogUtils.e(WebVIewUpgrade,complete...);}int process  (int) (WebViewUpgrade.getUpgradeProcess() * 100);LogUtils.e(WebVIewUpgrade,Processing:-----process  %);Throwable throwable  WebViewUpgrade.getUpgradeError();if (throwable ! null) {LogUtils.e(WebVIewUpgrade,Throwable.message:  throwable.getMessage()  \nstackTrace:  Log.getStackTraceString(throwable));}} public class UpgradeInfo {public String title;public String url;public String packageName;public String versionName;public String extraInfo;public UpgradeInfo(String packageName, String versionName, String url, String extraInfo) {this.title  packageName  \n  versionName;this.extraInfo  !TextUtils.isEmpty(extraInfo) ? extraInfo : ;if (!extraInfo.isEmpty()) {this.title  this.title  \n  extraInfo;}this.url  url;this.packageName  packageName;this.versionName  versionName;}public UpgradeInfo(String packageName, String versionName, String url) {this(packageName, versionName, url, );}Nullablepublic UpgradeSource toUpgradeSource(Context context) {UpgradeSource upgradeSource  null;if (this.extraInfo.equals(网络)) {upgradeSource  new UpgradeDownloadSource(context,this.url,new File(context.getFilesDir(), this.packageName  /  this.versionName  .apk));} else if (this.extraInfo.equals(内置)) {upgradeSource  new UpgradeAssetSource(context,this.url,new File(context.getFilesDir(), this.packageName  /  this.versionName  .apk));} else if (this.extraInfo.equals(安装包)) {upgradeSource  new UpgradePackageSource(context,this.packageName);}return upgradeSource;} public class MainActivity extends BaseActivity implements , UpgradeCallback {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setWebView();}private void setWebView(){......}//更新中Overridepublic void onUpgradeProcess(float percent) {updateUpgradeWebViewStatus();}//更新完成Overridepublic void onUpgradeComplete() {updateUpgradeWebViewStatus();}//更新失败Overridepublic void onUpgradeError(Throwable throwable) {updateUpgradeWebViewStatus();} } 注意这个代码尽量前置如果无法前置需要保证其他地方先不要对WebView进行操作。如果操作了会导致初始化失败。 可以先试用Demo尝试功能是否可用再集成到自己的项目中。 2.4 WebView 执行完上面的操作后你就正常操作WebView即可。上面我只是列举了网上下载的例子(第一次下载只要文件存在无需重复下载)还支持内置/安装包的形式我这是应用包体太大不适合内置。 这种方式是可行的但是也有一些小的前置条件需要注意如果无法前置会导致使用失败。怎么前置才能做到万无一失就需要根据实际情况来判断了。 相关推荐 Android System WebView 各版本下载地址(翻)https://www.apkmirror.com/apk/google-inc/android-system-webview/WebView java.lang.NoSuchMethodException:callDrawGLFunction-CSDN博客文章浏览阅读5.7k次。5.1系统上WebView初始化报错Caused by: java.lang.NoSuchMethodException: callDrawGLFunction [long]at java.lang.Class.getMethod(Class.java:664)at java.lang.Class.getMethod(Class.java:643)at com.android.webview.chromium.WebViewDelegateFactory$Api21CompatibilityDele_java.lang.nosuchmethodexception: android.view.displaylistcanvas.calldrawglfuhttps://shuaici.blog.csdn.net/article/details/78459486
http://www.hkea.cn/news/14365216/

相关文章:

  • 安阳哪里做网站seo公司 引擎
  • 网站设计公司哪家便宜网站开发众包平台
  • 法律咨询东莞网站建设建站 小语种 连接
  • 用jsp做婚纱网站的流程hyperx wordpress 汉化
  • 长垣县住房和城乡建设局网站单页关键词优化费用
  • 企业网站建设实训体会宁波定制网站建设解决方案
  • 外贸电子商务网站哪里可以免费发广告
  • 做t-shirt素材网站网站手机站怎么做
  • 做网站一般要多少钱ps免费模板网站
  • asp网站安全吗西安做网站微信公司哪家好
  • 如何提高网站排名seo本机iis网站
  • 网站的前台后台如何规避电子政务网站建设教训
  • 合肥响应式网站开发方案网页维护
  • redis做缓存的网站并发数怀化市网站建设
  • 做点心的网站网站关健词排名
  • 如何在网站发广告金融网站建设银行
  • 网站建设与维护中wordpress最热门免费主题
  • 河南省住房和城乡建设厅网站确认书运城网站建设公司有多少
  • pc网站建设费用做电商要不要公司网站
  • 网站怎么查看访问量无锡工程建设信息网站
  • 广州做网站价格企业网站 微信里怎么做
  • 网站兼容性网页制作模板高清图片
  • 网站地图制作怎么做wordpress 登录 验证码
  • 网站建设开题报告数据库建立wordpress 体育
  • 网站开发做什么费用wordpress手机菜单没有反应
  • 织梦模板网站怎么备份泰兴市住房和城乡建设局网站
  • 自己制作网站的软件网站建设致谢
  • 无法进行网站备案重庆建设工程信息网信息网
  • 网站开发报价范围企业网站怎样做
  • 公众平台微信公众号官网有没有专业收费做网站优化的