android-单击Webview中的超链接后,应用程序崩溃.我已经整理了Assets文件夹中的所有html文件

android-单击Webview中的超链接后,应用程序崩溃.我已经整理了Assets文件夹中的所有html文件,第1张

概述我正在尝试制作一个打开本地html页面的应用程序,该页面具有链接到其他2个页面的超链接.所有这些html文件都放置在资产文件夹中.现在,当我触摸第一个html文件中的超链接时,该应用程序崩溃,打开了另一个html文件.packagecom.example.rishabh.webviewdemo;importandroid.support

我正在尝试制作一个打开本地html页面的应用程序,该页面具有链接到其他2个页面的超链接.所有这些HTML文件都放置在资产文件夹中.现在,当我触摸第一个HTML文件中的超链接时,该应用程序崩溃,打开了另一个HTML文件.

package com.example.rishabh.webvIEwdemo;import androID.support.v7.app.AppCompatActivity;import androID.os.Bundle;import androID.webkit.WebVIEw;public class MainActivity extends AppCompatActivity {    WebVIEw web;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        web= (WebVIEw) findVIEwByID(R.ID.webvIEw);        web.loadUrl("file:///androID_asset/1.HTML");    }}

这是日志

W/System.err: androID.os.fileUrIExposedException:file:///androID_asset/2.HTML exposed beyond app through Intent.getData()W/System.err:     at androID.os.StrictMode.onfileUrIExposed(StrictMode.java:1799)W/System.err:     at androID.net.Uri.checkfileUrIExposed(Uri.java:2346)W/System.err:     at androID.content.Intent.preparetoLeaveProcess(Intent.java:8965)W/System.err:     at androID.content.Intent.preparetoLeaveProcess(Intent.java:8926)W/System.err:     at androID.app.Instrumentation.execStartActivity(Instrumentation.java:1517)W/System.err:     at androID.app.Activity.startActivityForResult(Activity.java:4225)W/System.err:     at androID.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)W/System.err:     at androID.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:77)W/System.err:     at androID.app.Activity.startActivityForResult(Activity.java:4183)W/System.err:     at androID.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)W/System.err:     at androID.app.Activity.startActivity(Activity.java:4522)W/System.err:     at androID.app.Activity.startActivity(Activity.java:4490)W/System.err:     at androID.content.Contextwrapper.startActivity(Contextwrapper.java:356)W/System.err:     at org.chromium.androID_webvIEw.ResourcesContextwrapperFactory$WebVIEwContextwrapper.startActivity(ResourcesContextwrapperFactory.java:121)W/System.err:     at org.chromium.androID_webvIEw.AwContentsClIEnt.sendbrowsingIntent(AwContentsClIEnt.java:203)W/System.err:     at org.chromium.androID_webvIEw.AwContentsClIEnt.shouldIgnoreNavigation(AwContentsClIEnt.java:170)W/System.err:     at org.chromium.androID_webvIEw.AwContentsClIEntBrIDge.shouldOverrIDeUrlLoading(AwContentsClIEntBrIDge.java:256)W/System.err:     at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)W/System.err:     at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:39)W/System.err:     at androID.os.Handler.dispatchMessage(Handler.java:102)W/System.err:     at androID.os.Looper.loop(Looper.java:154)W/System.err:     at androID.app.ActivityThread.main(ActivityThread.java:6119)W/System.err:     at @R_404_4126@.reflect.Method.invoke(Native Method)W/System.err:     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)W/System.err:     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:776) A/chromium: [FATAL:jni_androID.cc(236)] Please include Java exception stack in crash reportW/Google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###W/Google-breakpad: Chrome build fingerprint:W/Google-breakpad: 1.0W/Google-breakpad: 1W/Google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###    A/libc: Fatal signal 6 (SIGABRT), code -6 in tID 4203 (abh.webvIEwdemo)    [ 11-13 22:33:57.340  1186: 1186 W/         ]    deBUGgerd: handling request: pID=4203 uID=10073 gID=10073 tID=4203Application terminated.

解决方法:

正如@CommonsWare建议的那样,似乎仅使用以下方法即可解决N / 25设备尝试加载基于资产的链接HTML文件的问题.
在运行牛轧糖的模拟器上进行了测试:

    web.setWebVIEwClIEnt(new WebVIEwClIEnt()    {        @OverrIDe        public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, String url)        {            Log.i("WebVIEw", "Attempting to load URL: " + url);            vIEw.loadUrl(url);            return true;        }    });
总结

以上是内存溢出为你收集整理的android-单击Webview中的超链接后,应用程序崩溃.我已经整理了Assets文件夹中的所有html文件全部内容,希望文章能够帮你解决android-单击Webview中的超链接后,应用程序崩溃.我已经整理了Assets文件夹中的所有html文件所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存