Android WebView.eveloateJavaScript()会在三星note 9设备中丢失数据吗?
我在webview中从Java向Js发送数据时发现了一个奇怪的问题(仅在Note9设备上)。我使用EvelateJavaScript()每隔2秒将JSON字符串从Java传递到JS,如下面的代码片段所示Android WebView.eveloateJavaScript()会在三星note 9设备中丢失数据吗?,javascript,java,android,json,android-webview,Javascript,Java,Android,Json,Android Webview,我在webview中从Java向Js发送数据时发现了一个奇怪的问题(仅在Note9设备上)。我使用EvelateJavaScript()每隔2秒将JSON字符串从Java传递到JS,如下面的代码片段所示 private void sendResponse(final String responsePayload) { final String javaScript = "javascript:window:sendResponse('" + response
private void sendResponse(final String responsePayload) {
final String javaScript = "javascript:window:sendResponse('" + responsePayload + "')";
wv.post(new Runnable() {
@Override
public void run() {
wv.evaluateJavascript(javaScript, new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
}
});
}
});
}` I
private void sendResponse(最终字符串responsePayload){
最后一个字符串javaScript=“javaScript:window:sendResponse(“+responsePayload+”)”;
wv.post(新可运行(){
@凌驾
公开募捐{
evaluateJavascript(javaScript,new ValueCallback(){
@凌驾
公共无效onReceiveValue(字符串值){
}
});
}
});
}`我
我能够在Note8设备上的JS方法中获得整个JSON响应字符串。
但在注9装置上;在最初的几次中,我接收到Java发送的整个JSON响应字符串,然后在后续的响应中,我接收到JSON中test1和test2对象数组的null(有趣的是,Java代码正在发送整个响应,当我在JS中接收到它时,它正在丢失值)。
JSON响应:
尝试通过添加breakpoint@rupps我发现java正在发送正确的响应,但当它到达JS时,所述对象的test1和test2数组的值将变为null。请尝试通过添加breakpoint@rupps我发现java正在发送正确的响应,但是当它到达JS时,所说的test1和test2对象数组的值将变为null。