我有这个从javascript函数获取返回值的android代码,我有这个代码:
file_list_detail_webview1.evaluateJavascript("javascript:getValue();", new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
JsonReader reader = new JsonReader(new StringReader(s));
// Must set lenient to parse single values
reader.setLenient(true);
try {
if(reader.peek() != JsonToken.NULL) {
if(reader.peek() == JsonToken.STRING) {
String msg = reader.nextString();
if(msg != null) {
FileFunction fileFunction = new FileFunction();
try {
fileFunction.writeFile(filePath, msg);
} catch (ArcAppException e) {
e.printStackTrace();
}
}
}
}
} catch (IOException e) {
Log.e("TAG", "MainActivity: IOException", e);
} finally {
try {
reader.close();
} catch (IOException e) {
// NOOP
}
}
}
});
我想在public String
内进行,以便我可以重复使用它,并从中获取返回值。我尝试过这样做,但我使用的字符串却出错了。
有谁能请举例说明如何正确地做到这一点?
答案 0 :(得分:0)
我没有足够的声誉来评论,但我不明白为什么你使用字符串作为方法名称。不允许public void String
中的字符串,因为字符串是保留关键字,不允许用作方法名称。
如果希望返回类型为String,则需要将方法声明为public String yourMethodName