Javascript Android Base64字符串不显示在Web视图上
我正在将此Base64字符串发送到javascript,并希望在webview的文本区域中显示,但未成功,这是字符串: RK1SACAYMAAAAAAAF6AAAAA/AFEAMUAXQEAABPE0BKABZGXUDLAFFBZXUCOAFZCXUA+AFtiXUBaAGPg XUAKAGFKXUBYZMXUBEAIFKXUA7AJRNXUBGALDXYDTABNKRICZAC9YXYBGADVFXYBXAJDNxYCH AJ9KXYBAAN9SXUA1ACBHV0BCAGZIV4ZADRBUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 另外,当我在一行硬编码这个字符串时,它会正确地显示在web视图上。。 硬编码单行字符串:Javascript Android Base64字符串不显示在Web视图上,javascript,android,webview,android-webview,Javascript,Android,Webview,Android Webview,我正在将此Base64字符串发送到javascript,并希望在webview的文本区域中显示,但未成功,这是字符串: RK1SACAYMAAAAAAAF6AAAAA/AFEAMUAXQEAABPE0BKABZGXUDLAFFBZXUCOAFZCXUA+AFtiXUBaAGPg XUAKAGFKXUBYZMXUBEAIFKXUA7AJRNXUBGALDXYDTABNKRICZAC9YXYBGADVFXYBXAJDNxYCH AJ9KXYBAAN9SXUA1ACBHV0BCAGZIV4ZADRBU
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;
}
}
}
private void ReceiveCommand(字节[]数据)
{
如果((数据[0]='F')&&(数据[1]='T'))
{
开关(数据[4])
{
案例CMD\U CAPTUREHOST:
{
int size=(字节)(数据[5])+((数据[6])问题在于换行符破坏了javascript代码。请从字符串中删除EOL,或在html代码中以单独的行或段落显示字符串
请注意,这不会在任何支持javascript的浏览器中编译(您可以在Chrome控制台或其他地方进行测试):
另一个“)
test("a line