【问题标题】:Android: Sending image URI from webview website to appAndroid:将图像 URI 从 webview 网站发送到应用程序
【发布时间】:2013-04-04 10:25:30
【问题描述】:

我正在尝试使用 Javascript 将图像 URI 从网站画布发送到应用程序。 在网站中,我使用了以下依赖于 html2canvas 插件的函数:

$("div.imagecapture").click(function()
{
    html2canvas(document.getElementById('paper_trolley_center'), 
    {
                onrendered: function(canvas) 
        {
            var strDataURI = canvas.toDataURL("image/jpeg");
            console.log('La imagen: '+strDataURI);
            jsNativeInterface.metodoDemo1(strDataURI);
                }
             });
});

console.log 输出 URI,但应用程序正在接收空值:

    public void metodoDemo1(Uri imageUri) 
    {  
             Log.d(TAG, "IMAGEURI: "+imageUri);
             senddatatodevice(imageUri);
    }

应用程序和 webview 网站之间的数据传输工作正常,因为我可以接收一个字符串(更改 metodoDemo1 的转换)并正确记录日志...... 会是什么?

【问题讨论】:

  • 你能帮我理解你的代码吗,什么是 senddatatodevice ?你使用了 loadUrl 还是 evaluateJavascript ?我真的需要那个代码,我正在尝试在 webview 中获取验证码的屏幕截图,我已经尝试了一个月但没有成功

标签: javascript android webview uri


【解决方案1】:

尝试将其传递为StringJavaScript 中的 UriAndroid 中的其他内容相同。

public void metodoDemo1(String imageUri)

【讨论】:

  • 确实,我只使用了String/Boolean/Integers等基本类型
  • 当我尝试处理 URI 时出现此错误:java.io.FileNotFoundException: No content provider: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP...(这里有所有 URI)
  • 这意味着你的 URI 没有指向数据,但它本身包含数据(base64 编码)
  • 没错,它不是指向任何数据,是数据本身来自网络。我该如何处理?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
  • 2014-02-13
  • 1970-01-01
  • 2016-01-06
相关资源
最近更新 更多