简体   繁体   English

Android Base64字符串未显示在Web视图上

[英]Android Base64 String not display on a webview

I am sending this Base64 string to javascript and want to display on a textarea in webview but not succeeded,this is the string: 我正在将此Base64字符串发送到javascript,并想在webview的textarea上显示,但没有成功,这是字符串:

Rk1SACAyMAAAAAF6AAAA/AFEAMUAxQEAAABpE0BkABZgXUDLAFBZXUCOAFZcXUA+AFtiXUBaAGPg XUAkAGfkXUBYAHZmXUBEAIFkXUA7AJRnXUBGALRtXYDTABNKRICzAC9YXYBGADVfXYBxAJdnXYCh AJ9kXYBaAN9sXUA1ACbhV0BCAGziV4AzADRbUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Rk1SACAyMAAAAAF6AAAA / AFEAMUAxQEAAABpE0BkABZgXUDLAFBZXUCOAFZcXUA + AFtiXUBaAGPg XUAkAGfkXUBYAHZmXUBEAIFkXUA7AJRnXUBGALRtXYDTABNKRICzAC9YXYBGADVfXYBxAJdnXYCh AJ9kXYBaAN9sXUA1ACbhV0BCAGziV4AzADRbUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

also when i hardcode this string on a single line then it is display on web view correctly.. HArdcode single line String: 当我在单行上对该字符串进行硬编码时,它也会正确显示在Web视图上。

String bsiso1 = "Rk1SACAyMAAAAAF6AAAA/AFEAMUAxQEAAABpE0BkABZgXUDLAFBZXUCOAFZcXUA+AFtiXUBaAGPgXUAkAGfkXUBYAHZmXUBEAIFkXUA7AJRnXUBGALRtXYDTABNKRICzAC9YXYBGADVfXYBxAJdnXYChAJ9kXYBaAN9sXUA1ACbhV0BCAGziV4AzADRbUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";

This is my code: 这是我的代码:

 public void showDialog(String dialogMsg){
        browser.loadUrl("javascript:test(\""+bsiso+"\")");
        Log.d("Bluetooth", "Bluetooth imei" + bsiso);
 }  

This is my method: 这是我的方法:

private void ReceiveCommand(byte[] data)
{
    if((data[0]=='F')&&(data[1]=='T'))
    {
        switch(data[4])
        {
        case CMD_CAPTUREHOST:
            {
                int size=(byte)(data[5])+((data[6]<<8)&0xFF00)-1;
                if(data[7]==1)
                {
                    memcpy(mMatData,0,data,8,size);
                    mMatSize=size;
                    if(mMatData[0]==3){
                         bsiso=Base64.encodeToString(mMatData,0,mMatSize/*378*/,Base64.DEFAULT);
                        mEditText.setText(bsiso);
                        SaveTextToFile(bsiso);
                        AddStatusList("Capture Succeed");
                    }else{
                         bsiso=Base64.encodeToString(mMatData,0,378,Base64.DEFAULT);
                        mEditText.setText(bsiso);
                        SaveTextToFile(bsiso);
                        AddStatusList("Capture Succeed");
                    }

                }
                else
                    AddStatusList("Capture Fail");
            }
            break;
        case CMD_GETSN:
            {
                int size=(byte)(data[5])+((data[6]<<8)&0xFF00)-1;
                if(data[7]==1)
                {
                    byte[] snb=new byte[32];
                    memcpy(snb,0,data,8,size);
                    String sn = null;
                    try {
                        sn = new String(snb,0,size,"UNICODE");
                    } catch (UnsupportedEncodingException e) {
                        e.printStackTrace();
                    }
                    AddStatusList("SN:"+sn);
                }
                else
                    AddStatusList("Get SN Fail");   
            }
            break;
        }
    }
}

Note:- the hardcoded string in single line display well on webview..but when i send the string in a parameter then it is not display..waht is problem please help. 注意:-单行中的硬编码字符串在webview上显示得很好。但是当我在参数中发送字符串时,则不显示.waht是问题,请帮忙。

The problem is that the line breaks are breaking the javascript code. 问题是换行符破坏了JavaScript代码。 Remove the EOLs from the string or display the string in separate lines or paragraphs in the html code. 从字符串中删除EOL或在html代码中的单独的行或段落中显示字符串。

Notice that this won´t compile in any javascript capable browser (you can test it in the Chrome console or something): 请注意,这不会在任何支持JavaScript的浏览器中进行编译(您可以在Chrome控制台或其他工具中对其进行测试):

test("a line

another"); 另一个”);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM