繁体   English   中英

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

[英]Android Base64 String not display on a webview

我正在将此Base64字符串发送到javascript,并想在webview的textarea上显示,但没有成功,这是字符串:

Rk1SACAyMAAAAAF6AAAA / AFEAMUAxQEAAABpE0BkABZgXUDLAFBZXUCOAFZcXUA + AFtiXUBaAGPg XUAkAGfkXUBYAHZmXUBEAIFkXUA7AJRnXUBGALRtXYDTABNKRICzAC9YXYBGADVfXYBxAJdnXYCh AJ9kXYBaAN9sXUA1ACbhV0BCAGziV4AzADRbUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

当我在单行上对该字符串进行硬编码时,它也会正确显示在Web视图上。

String bsiso1 = "Rk1SACAyMAAAAAF6AAAA/AFEAMUAxQEAAABpE0BkABZgXUDLAFBZXUCOAFZcXUA+AFtiXUBaAGPgXUAkAGfkXUBYAHZmXUBEAIFkXUA7AJRnXUBGALRtXYDTABNKRICzAC9YXYBGADVfXYBxAJdnXYChAJ9kXYBaAN9sXUA1ACbhV0BCAGziV4AzADRbUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";

这是我的代码:

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

这是我的方法:

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;
        }
    }
}

注意:-单行中的硬编码字符串在webview上显示得很好。但是当我在参数中发送字符串时,则不显示.waht是问题,请帮忙。

问题是换行符破坏了JavaScript代码。 从字符串中删除EOL或在html代码中的单独的行或段落中显示字符串。

请注意,这不会在任何支持JavaScript的浏览器中进行编译(您可以在Chrome控制台或其他工具中对其进行测试):

test("a line

另一个”);

暂无
暂无

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

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