将数据传递给@JavascriptInterface方法时,字符串在NUL字符处被截断

时间:2014-05-09 05:23:43

标签: java android string null-terminated

我通过此功能将webview与javascript连接以将数据保存到文件中

@JavascriptInterface
public Boolean saveToFile(String filename, String text) {
    try{
      File file = new File(filename);
      byte[] b = text.getBytes();
      FileOutputStream fileOutputStream = new FileOutputStream(file);
      fileOutputStream.write(b);
      fileOutputStream.close();  
      return true;
    }
    catch (Exception e){
      return false;
    }
}

在javascript方面我有这个:

function save(filename, text) {
  return Android.saveToFile(filename, text);
}

当我保存ascii文本时,没关系,但每当我发送二进制数据时,如果“text”包含空字符(\ 0),则Android函数会截断收到的参数“text”,就像它接收的那个空字符一样一个以null结尾的字符串,不是这种情况,也不是java或javascript。

任何人都知道如何解决它?

0 个答案:

没有答案