javascript - 将大数据从 Android Activity 传输到 WebView Javascript

标签 javascript android webview data-transfer

我知道有很多相关的帖子,但没有一个包含明确的答案如何将大量数据从 Android 传输到 JS,反之亦然。问题是当我尝试这样做时,在 JS 端,字符串被切断并且不完整。在这行之后,我只得到 Javascript 端字符串的一部分

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
    webView.evaluateJavascript("javascript: " + jsToExecute, null);
} else {
    webView.loadUrl("javascript: " + jsToExecute);
}

可能的解决方案是什么?

预先感谢您的回答或想法。

最佳答案

您可以尝试将数据保存到临时文件中,然后使用文件插件读取数据。但不确定这是否有任何限制。

或者您可以创建自己的 JS 函数来返回数据:

//this is an Activity
this.appView.addJavascriptInterface(new MyJsHandler(this), "myHandler");

private class MyJsHandler {

    private CordovaActivity activity;

    public MyJsHandler(CordovaActivity activity) {
        this.activity = activity;
    }

    @SuppressWarnings("unused")
    @JavascriptInterface
    public String getData() {
        if (this.activity.data) {
            return this.activity.data;
        }
        return "";
    }
}

在 JavaScript 中:

var data = window.myHandler.getData();

关于javascript - 将大数据从 Android Activity 传输到 WebView Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32352593/

相关文章:

javascript - 使用 jQuery 更改 url 查询字符串值

javascript - window.location.reload();不适用于谷歌浏览器

android - 如何在Webview中播放Youtube视频?

半屏 Android 网页 View

javascript - AngularJS Accordion is-open 检查与 ng 重复

javascript - 第一次单击的 jquery ajax 表单提交请求不起作用,可能的原因是什么

android - fragment 工具栏中的向上导航

android - Android App停止播放YouTube视频

android - 我收到此错误 : Warning:Gradle version 2. 需要 10

objective-c - WebViews 不释放内存?