diff --git a/framework/src/org/apache/cordova/NativeToJsMessageQueue.java b/framework/src/org/apache/cordova/NativeToJsMessageQueue.java index 934088a7..54c6eed3 100755 --- a/framework/src/org/apache/cordova/NativeToJsMessageQueue.java +++ b/framework/src/org/apache/cordova/NativeToJsMessageQueue.java @@ -219,6 +219,10 @@ public class NativeToJsMessageQueue { * Add a JavaScript statement to the list. */ public void addPluginResult(PluginResult result, String callbackId) { + if (callbackId == null) { + Log.e(LOG_TAG, "Got plugin result with no callbackId", new Throwable()); + return; + } // Don't send anything if there is no result and there is no need to // clear the callbacks. boolean noResult = result.getStatus() == PluginResult.Status.NO_RESULT.ordinal(); diff --git a/framework/src/org/apache/cordova/NetworkManager.java b/framework/src/org/apache/cordova/NetworkManager.java index 8c8c4002..f473abec 100755 --- a/framework/src/org/apache/cordova/NetworkManager.java +++ b/framework/src/org/apache/cordova/NetworkManager.java @@ -206,9 +206,11 @@ public class NetworkManager extends Plugin { * @param connection the network info to set as navigator.connection */ private void sendUpdate(String type) { - PluginResult result = new PluginResult(PluginResult.Status.OK, type); - result.setKeepCallback(true); - this.success(result, this.connectionCallbackId); + if (connectionCallbackId != null) { + PluginResult result = new PluginResult(PluginResult.Status.OK, type); + result.setKeepCallback(true); + this.success(result, this.connectionCallbackId); + } webView.postMessage("networkconnection", type); }