Chromium webview 似乎不适用于 Android applyOverrideConfiguration

2024-02-25

在我的更改描述之后使用 resConfig 强制 Android 风格的区域设置 https://stackoverflow.com/questions/31566270/force-locale-for-android-flavor-with-resconfig/31787201#31787201我遇到了包含视频的网络视图的问题。该问题仅存在于 API21+ 上,并且在删除对 applyOverrideConfiguration 的调用后真正消失。不太确定如何解决这个问题。

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
  at com.android.webview.chromium.WebViewContentsClientAdapter.getDefaultVideoPoster(WebViewContentsClientAdapter.java:1172)
  at org.chromium.android_webview.DefaultVideoPosterRequestHandler$1.run(DefaultVideoPosterRequestHandler.java:39)
  at android.os.Handler.handleCallback(Handler.java:739)
  at android.os.Handler.dispatchMessage(Handler.java:95)
  at android.os.Looper.loop(Looper.java:135)
  at android.app.ActivityThread.main(ActivityThread.java:5221)
  at java.lang.reflect.Method.invoke(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

从我在 grepcode 上找到的内容来看,这将是在获取 ic_media_video_poster 图像时。我验证了该图像确实在 sdk 中。http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.1_r1/com/android/webview/chromium/WebViewContentsClientAdapter.java#WebViewContentsClientAdapter.getDefaultVideoPoster%28% 29 http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.1_r1/com/android/webview/chromium/WebViewContentsClientAdapter.java#WebViewContentsClientAdapter.getDefaultVideoPoster%28%29

public Bitmap More ...getDefaultVideoPoster() {
     TraceEvent.begin();
     Bitmap result = null;
     if (mWebChromeClient != null) {
         if (TRACE) Log.d(TAG, "getDefaultVideoPoster");
         result = mWebChromeClient.getDefaultVideoPoster();
     }
     if (result == null) {
         // The ic_media_video_poster icon is transparent so we need to draw it on a gray
         // background.
         Bitmap poster = BitmapFactory.decodeResource(
                 mWebView.getContext().getResources(),
                 R.drawable.ic_media_video_poster);
         result = Bitmap.createBitmap(poster.getWidth(), poster.getHeight(), poster.getConfig());
         result.eraseColor(Color.GRAY);
         Canvas canvas = new Canvas(result);
         canvas.drawBitmap(poster, 0f, 0f, null);
     }
     TraceEvent.end();
     return result;
 }

EDIT:经过几次测试,我能够在 testApp 中隔离崩溃。它可以在我在 Chromium 上创建的错误报告中找到https://code.google.com/p/chromium/issues/detail?id=521753 https://code.google.com/p/chromium/issues/detail?id=521753

有任何想法吗?有人已经遇到过这个问题了吗?


正如@Martin Edelman评论了 https://stackoverflow.com/questions/32050784/chromium-webview-does-not-seems-to-work-with-android-applyoverrideconfiguration#comment57279676_32050784,它应该适用于此解决方法:

在科特林中:

override fun getAssets(): AssetManager {
    return resources.assets
}

In Java:

@Override
public AssetManager getAssets() {
    return getResources().getAssets();
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chromium webview 似乎不适用于 Android applyOverrideConfiguration 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • 使用workmanager时Firestore脱机持久性错误

    我正在使用一个WorkManger定期从我的中检索信息Firestore当应用程序处于后台和前台时的数据库 此信息用于根据状态更新 UI 因此不同的状态会添加或删除 UI 的不同部分 第一次运行时效果很好 但是 一旦应用程序处于后台并且Wo
  • React Native 从 JavaScript 代码内部访问 strings.xml

    有没有办法访问当前值android app src main res values strings xml从 JavaScript 代码内部 我想为每个构建放置不同的端点 URL 但我什至无法检测到反应本机代码内的构建类型 而不必求助于 D
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • CardView 圆角获得意想不到的白色

    When using rounded corner in CardView shows a white border in rounded area which is mostly visible in dark environment F
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 如何在android中获取Camera2 API的当前曝光

    In android hardware Camera旧的 我使用下面的代码获取当前曝光并获取它Camera Camera Parameters param mCamera getParameters currentExposure para
  • Android Activity 生命周期函数基础知识

    我正在测试这段代码 它显示活动所处的状态 public class Activity101Activity extends Activity String tag Lifecycle Called when the activity is
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位

随机推荐

  • 什么是“单位”? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在单元测试的背景下 什么是 单元 我通常将其定义为单一代码执行路径通过单一方法 根据经验法则 测试一个方法所需的单元测试数量等于或大于
  • 透明 UINavigationBar 下的 UIWebView

    我有一个 UIWebView 我想将其放在半透明的 UINavigationBar 下 通常 当我将 UIScrollView 放在半透明的 UINavigationBar 下时 我会设置其 contentOffset 以便所有内容最初都会
  • API 端点返回“此请求的授权已被拒绝”。发送不记名令牌时

    我已按照教程使用 C 中的 OAuth 保护 Web API 我正在做一些测试 到目前为止我已经能够成功地从 token 我正在使用名为 Advanced REST Client 的 Chrome 扩展来测试它 access token t
  • 是否可以向 networkx 中的图形对象添加无向和有向边?

    我正在致力于实现一种算法来确定数据集的图形结构 数据集的变量之间可以有无向或有向边 我可以用 Python 创建自己的图形对象 但我很好奇 Networkx 是否具有此功能 据我所知 Networkx 只有一个 Graph 对象 仅无向边
  • Windows 身份验证和 Angular 7 应用程序

    我开发了内联网应用 后端 ASP NET WEB API 2 所有控制器都有授权属性 前端 Angular 7 产品构建后 我将生成的脚本移至后端项目
  • asyncio as_yielded 来自异步生成器

    我希望能够从许多异步协程中产生收益 异步的as completed有点接近我正在寻找的东西 即我希望任何协程能够随时返回调用者然后继续 但这似乎只允许常规协程具有单个返回 这是我到目前为止所拥有的 import asyncio async
  • 没有数学模块的Python 3中的ceil和floor等效吗?

    我需要在不使用的情况下将天花板和地板 3 2 结果 1 5 import math math floor 3 2 gt 3 2 math ceil 3 2 gt 好的 问题是这样的 将所有数字相加 15 45 15 45 15 有 N 个项
  • 读取虚拟端口时 ser.inWaiting() 始终返回 0

    我很难获得pyserial和一个玩得很好虚拟端口 我知道这是其他一些人写过的领域 但我在这些答案中找不到任何可以解决我的问题的内容 如果我只是太笨了 请原谅我 解决方案在其他地方已经存在 这就是我想要实现的目标 我想设置一个虚拟端口 我可以
  • Eclipse JUnit4:使用名称模式排除测试

    是否可以在 Eclipse 的 JUnit Run 配置中指定一个名称模式 例如 integration Test 在运行项目的所有测试时应将其从测试运行中排除 查看运行 调试配置中的选项 我认为这个问题可以简化为 是否可以排除基于 jun
  • 从 vb.net 运行 Python 函数

    我是 vb net 新手 我试图从 vb net 调用 python 函数 但收到错误 Invoke 不是 Microsoft Scripting Hosting ObjectOperations 的成员 Imports Microsoft
  • 如何在 firebase 中查询所有子项中具有特定值的属性

    我有这个数据结构 其中待办事项被组织为遵循路径 todos uid metausers simplelogin 1 displayName John Doe provider password provider id 1 simplelog
  • 在 Internet Explorer 中使用 .append() 刷新列表框的内容

    使用 Firefox 和 Chrome 上的 jQuery 我可以动态更改列表框中的数据 append 声明或我需要的任何方式 相同的代码不适用于 IE 列表框
  • 冻结 linq IQueryable (如 ToList().AsQueryable() 所做的那样)

    有没有办法冻结IQueryable这样在访问数据库时就不会向查询添加额外的连接 例如 我可以做一个 ToList 冻结查询 但这会对性能产生影响 因为我所做的任何过滤都是在中间层上进行的 并且我没有从数据库服务器上的预过滤中获得任何性能提升
  • 将其使用的代码和只读数据放在一起是个好主意吗?

    在编写与查找表相关的答案时另一个问题 https stackoverflow com q 41529921 149138我想起了我一直想知道的一件事 将函数所需的少量非代码数据放在函数旁边 而不是像传统的那样将其放在另一个部分中 这是否明智
  • Facebook 分享对话框图像不显示

    我正在使用 Facebook 共享对话框 https developers facebook com docs reference plugins share links https developers facebook com docs
  • 将 MP3 裁剪到前 30 秒

    原始问题 我希望能够从现有的 MP3 文件生成一个新的 完全有效的 MP3 文件以用作预览 先试后买的风格 新文件应该只包含第一个n轨道的秒数 现在 我知道我可以 砍流 n交付文件时的秒数 根据比特率和标头大小计算 但这有点脏 而且是 VB
  • 为什么它不能在 Swift 2 的 Playground 中显示任何内容?

    我尝试使用 spriteKit 在助理编辑器的游乐场中显示一些内容 然而 什么也没有显示 下面是代码 如果有人可以显示结果 蓝色矩形 请通知我 如果不是 请找出问题出在哪里 import UIKit import SpriteKit let
  • (HTML) 单击时下载 PDF 文件,而不是在浏览器中打开它们

    我想知道如何使 PDF 文件链接可下载而不是在浏览器中打开它们 这是如何在 html 中完成的 我假设它是通过 javascript 或其他东西完成的 有了html5 现在就可以了 在元素中设置 下载 属性 a href http link
  • 如何在android中的ListPreference的项目中设置图标

    我想将图标设置为ListPreferenceAndroid 中的项目 写什么内容ListPreference或者在哪里写来设置列表项图标 当您需要多次使用带有文本 图标的列表首选项时 您可以使用此解决方案 该版本很大程度上基于卢卡扎尼尼的好
  • Chromium webview 似乎不适用于 Android applyOverrideConfiguration

    在我的更改描述之后使用 resConfig 强制 Android 风格的区域设置 https stackoverflow com questions 31566270 force locale for android flavor with