SentinEM 2021-01-20 14:24 采纳率: 50%
浏览 152

AgentWeb超链接不能跳转assets中html页面

如题,尝试过AgentWeb访问百度等外部页面是可以的,assets中页面不可跳转

WebView可使用超链接的方式访问assets中html页面

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 15:11
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要解决这个问题,您需要在Android应用中正确设置<asset>标签。以下是一个示例:

    <resources>
        <string name="asset_path">assets/</string>
    
        <!-- 这里是您的html文件 -->
        <string name="my_html_file">my_html_page.html</string>
    
        <!-- 在这里设置超链接 -->
        <link rel="asset" href="@{asset_path}my_html_file" />
    </resources>
    

    然后,在您的Activity或Fragment中,您可以像这样调用这个资源:

    String myHtmlFile = "my_html_page.html";
    AssetManager assetManager = getAssets();
    InputStream is = null;
    OutputStream os = null;
    
    try {
        is = assetManager.open(myHtmlFile);
        os = new FileOutputStream("your_output_file.html");
    
        byte[] buffer = new byte[1024];
        int length;
        while ((length = is.read(buffer)) != -1) {
            os.write(buffer, 0, length);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (is != null)
                is.close();
            if (os != null)
                os.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    

    这将从assets目录中读取html文件,并将其写入到指定的输出文件中。

    注意:确保您的assets目录包含正确的路径和名称。例如,如果您的html文件名为“index.html”,则应在<string name="asset_path">assets/index.html</string>中设置为“assets/index.html”。

    评论

报告相同问题?