小编Gab*_*iel的帖子

Android WebView 在 WebViewDelegate.getPackageId 处导致 RuntimeException

我的 MainActivity 的布局 xml 中有一个 WebView,setWebViewClient(new WebViewClient())然后loadUrl(...)在 onCreate 中。

大多数情况下,应用程序运行良好并且 Web 内容显示正确。

但在某些情况下,打开应用程序会导致崩溃。我注意到当应用程序使用 AlarmManager 安排 PendingIntent 广播时会发生这种情况,这会触发一个通知,其 contentIntent 是一个设置为启动 MainActivity 的 PendingIntent.getActivity 。但只有当用户同时从活动应用程序堆栈中删除该应用程序时才会发生这种情况(通知可见,尚未单击,如果应用程序已清除则堆栈。那么,应用程序进程可能已停止?)。

之间似乎没有其他系统修改(特别是没有应用程序/系统更新,没有使用用户配置文件或 Chrome 应用程序。)

堆栈跟踪:

java.lang.RuntimeException: 
  at android.webkit.WebViewDelegate.getPackageId (WebViewDelegate.java:164)
  at yj.a (PG:16)
  at xH.run (PG:14)
  at java.lang.Thread.run (Thread.java:764)
Run Code Online (Sandbox Code Playgroud)

在 Android 7.0 到 9 中出现。此外,当我将目标 SDK 升级到 28 时,似乎也开始出现这种情况。

我没有明确使用 a WebViewDelegate。它必须是内部系统代码(因此是混淆的)。

通过阅读AOSP的源代码,似乎WebView无法检索到它所属的包——但为什么有时只是!?

任何帮助表示赞赏!谢谢。

android

5
推荐指数
1
解决办法
1576
查看次数

标签 统计

android ×1