在AFW注册后,Android O无法使webview膨胀

在AFW注册后,Android O无法使webview膨胀,第1张

概述我在PixelXL设备中使用最新的AndroidObeta版本.这是我在xml中的webview.<WebViewandroid:id="@+id/launch_anim"android:layout_width="match_parent"android:layout_height="150dp"android:layout_centerHorizontal="true&qu

我在Pixel XL设备中使用最新的Android O beta版本.
这是我在xml中的webvIEw.

<WebVIEw    androID:ID="@+ID/launch_anim"    androID:layout_wIDth="match_parent"    androID:layout_height="150dp"    androID:layout_centerHorizontal="true" />

这是我在Activity类中使用的方式

WebVIEw launch_anim = (WebVIEw)findVIEwByID(R.ID.launch_anim);launch_anim.loadUrl("file:///androID_asset/launch_anim_centered.HTML");

这是我在资产目录中的launch_anim_centered.HTML文件

<HTML><head>    <style>body {    background-color: #FFFFFF;}</style></head><body><CENTER>    <img SRC="launch_anim_1x.gif"></CENTER></body></HTML>

launch_anim_1x.gif文件是一个包含正在旋转的图像的gif文件.
当我启动应用程序时,运行此活动没有问题.然后我做AndroID-For-Work注册.注册后,一旦启动应用程序,此活动就无法呈现,它会抛出这样的异常

07-28 15:39:55.352 16538-16538/? I/WebVIEwFactory: Loading com.Google.androID.webvIEw version 58.0.3029.125 (code 303012500)07-28 15:39:55.353 16538-16538/? D/AndroIDRuntime: Shutting down VM07-28 15:39:55.354 16538-16538/? E/AndroIDRuntime: FATAL EXCEPTION: main                                                   Process: com.sample.app, PID: 16538                                                   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sample.app/com.sample.app.ui.StartupActivity}: androID.vIEw.InflateException: Binary XML file line #25: Binary XML file line #25: Error inflating class androID.webkit.WebVIEw                                                       at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2817)                                                       at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)                                                       at androID.app.ActivityThread.-wrap11(UnkNown Source:0)                                                       at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)                                                       at androID.os.Handler.dispatchMessage(Handler.java:105)                                                       at androID.os.Looper.loop(Looper.java:164)                                                       at androID.app.ActivityThread.main(ActivityThread.java:6541)                                                       at java.lang.reflect.Method.invoke(Native Method)                                                       at com.androID.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)                                                       at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:767)                                                    Caused by: androID.vIEw.InflateException: Binary XML file line #25: Binary XML file line #25: Error inflating class androID.webkit.WebVIEw                                                    Caused by: androID.vIEw.InflateException: Binary XML file line #25: Error inflating class androID.webkit.WebVIEw                                                    Caused by: java.lang.reflect.InvocationTargetException                                                       at java.lang.reflect.Constructor.newInstance0(Native Method)                                                       at java.lang.reflect.Constructor.newInstance(Constructor.java:334)                                                       at androID.vIEw.LayoutInflater.createVIEw(LayoutInflater.java:647)                                                       at com.androID.internal.policy.PhoneLayoutInflater.onCreateVIEw(PhoneLayoutInflater.java:58)                                                       at androID.vIEw.LayoutInflater.onCreateVIEw(LayoutInflater.java:720)                                                       at androID.vIEw.LayoutInflater.createVIEwFromTag(LayoutInflater.java:788)                                                       at androID.vIEw.LayoutInflater.createVIEwFromTag(LayoutInflater.java:730)                                                       at androID.vIEw.LayoutInflater.rInflate(LayoutInflater.java:863)                                                       at androID.vIEw.LayoutInflater.rInflateChildren(LayoutInflater.java:824)                                                       at androID.vIEw.LayoutInflater.inflate(LayoutInflater.java:515)                                                       at androID.vIEw.LayoutInflater.inflate(LayoutInflater.java:423)                                                       at androID.vIEw.LayoutInflater.inflate(LayoutInflater.java:374)                                                       at com.androID.internal.policy.PhoneWindow.setContentVIEw(PhoneWindow.java:418)                                                       at androID.app.Activity.setContentVIEw(Activity.java:2654)                                                       at com.sample.app.ui.StartupActivity.onCreate(UnkNown Source:37)                                                       at androID.app.Activity.performCreate(Activity.java:6975)                                                       at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)                                                       at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2770)                                                       at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)                                                       at androID.app.ActivityThread.-wrap11(UnkNown Source:0)                                                       at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)                                                       at androID.os.Handler.dispatchMessage(Handler.java:105)                                                       at androID.os.Looper.loop(Looper.java:164)                                                       at androID.app.ActivityThread.main(ActivityThread.java:6541)                                                       at java.lang.reflect.Method.invoke(Native Method)                                                       at com.androID.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)                                                       at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:767)                                                    Caused by: java.lang.NullPointerException                                                       at androID.content.res.AssetManager.addAssetPathNative(Native Method)                                                       at androID.content.res.AssetManager.addAssetPathInternal(AssetManager.java:689)                                                       at androID.content.res.AssetManager.addAssetPathAsSharedlibrary(AssetManager.java:684)                                                       at androID.webkit.WebVIEwFactory.getProvIDerClass(WebVIEwFactory.java:407)                                                       at androID.webkit.WebVIEwFactory.getProvIDer(WebVIEwFactory.java:211)                                                       at androID.webkit.WebVIEw.getFactory(WebVIEw.java:2467)                                                       at androID.webkit.WebVIEw.ensureProvIDerCreated(WebVIEw.java:2462)                                                       at androID.webkit.WebVIEw.setoverScrollMode(WebVIEw.java:2527)                                                       at androID.vIEw.VIEw.<init>(VIEw.java:4536)                                                       at androID.vIEw.VIEw.<init>(VIEw.java:4668)                                                       at androID.vIEw.VIEwGroup.<init>(VIEwGroup.java:597)                                                       at androID.Widget.absoluteLayout.<init>(absoluteLayout.java:55)07-28 15:39:55.354 16538-16538/? E/AndroIDRuntime:     at androID.webkit.WebVIEw.<init>(WebVIEw.java:636)                                                       at androID.webkit.WebVIEw.<init>(WebVIEw.java:581)                                                       at androID.webkit.WebVIEw.<init>(WebVIEw.java:564)                                                       at androID.webkit.WebVIEw.<init>(WebVIEw.java:551)                                                        ... 27 more

此问题仅出现在Pixel和PixelXL设备中. Nexus设备工作正常.任何帮助解决这个问题的人都表示赞赏.谢谢
编辑:新信息.因此,我禁用了webvIEw以查看发生了什么,但在尝试访问cookieManager.getInstance()时应用程序崩溃了.这是堆栈跟踪:

07-31 09:21:51.767 11267-11557/com.airwatch.vmworkspace I/WebVIEwFactory: Loading com.Google.androID.webvIEw version 58.0.3029.125 (code 303012500)07-31 09:21:51.775 13243-13276/? I/ConfigUpdater: Update started                                                  --------- beginning of crash07-31 09:21:51.775 11267-11557/com.airwatch.vmworkspace E/AndroIDRuntime: FATAL EXCEPTION: AsyncTask #3                                                                          Process: com.airwatch.vmworkspace, PID: 11267                                                                          java.lang.RuntimeException: An error occurred while executing doInBackground()                                                                              at androID.os.AsyncTask.done(AsyncTask.java:353)                                                                              at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)                                                                              at java.util.concurrent.FutureTask.setException(FutureTask.java:252)                                                                              at java.util.concurrent.FutureTask.run(FutureTask.java:271)                                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)                                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)                                                                              at java.lang.Thread.run(Thread.java:764)                                                                           Caused by: java.lang.NullPointerException                                                                              at androID.content.res.AssetManager.addAssetPathNative(Native Method)                                                                              at androID.content.res.AssetManager.addAssetPathInternal(AssetManager.java:689)                                                                              at androID.content.res.AssetManager.addAssetPathAsSharedlibrary(AssetManager.java:684)                                                                              at androID.webkit.WebVIEwFactory.getProvIDerClass(WebVIEwFactory.java:407)                                                                              at androID.webkit.WebVIEwFactory.getProvIDer(WebVIEwFactory.java:211)                                                                              at androID.webkit.cookieManager.getInstance(cookieManager.java:39)                                                                              at com.sample.app.network.communication.MycookieManager.<init>(MycookieManager.java:48)

我认为真正的问题是androID.content.res.AssetManager.addAssetPathNative(Native Method)上的NullPointerException.知道如何解决这个问题吗?

解决方法:

这是AndroID O中的一个错误:如果在其中一个配置文件中禁用了Chrome,则两个配置文件的WebVIEw都会中断,直到Play更新为止.

要在配置期间解决此问题并避免更新WebVIEw,您可以使用包含名称com.androID.Chrome的DevicePolicyManager.enableSystemApp()在工作资料中启用Chrome,然后阻止用户使用DevicePolicyManager.setUninstallBlocked()禁用它.

如果您希望阻止用户使用Chrome浏览器,则应使用DevicePolicyManager.setPackagesSuspended()而不是DevicePolicyManager.setApplicationHidden().

总结

以上是内存溢出为你收集整理的在AFW注册后,Android O无法使webview膨胀全部内容,希望文章能够帮你解决在AFW注册后,Android O无法使webview膨胀所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存