I recently changed the value of targetSdkVersion in my AndroidManifest.xml from 16 to 18. They say, "Better late than never," but maybe not in this case. I discovered that the change causes my app to white-screen on startup on two Samsung Galaxy S4s -- both running API level 17 (4.2.2). (On the five other devices I have -- all running API 16 or lower -- everything still works as if nothing has changed.) If I set targetSdkVersion back to 16, the app works great on all devices, including both Samsungs. I am using Cordova 3.0.0.
I have traced the problem to my onDeviceReady function, at the line where it first tries to execute one of my @JavascriptInterface functions. (It doesn't seem to matter which one.) Code snippet looks like: (in main Activity) appView.addJavascriptInterface(this, "MyJSI"); @JavascriptInterface public void foo() { .... } (in onDeviceReady) if (window.MyJSI == undefined) console.log("javascript interface is undefined"); else if (window.MyJSI == null) console.log("javascript interface is null"); else if (typeof(window.MyJSI) == 'object') console.log("javascript interface is an object: " + window.MyJSI); else console.log("javascript interface is not an object"); window.MyJSI.foo(); // foo is just some method I wrote -- I've only experimented with a few On both "good" (API level <= 16) and "bad" (Galaxy S4, API level >= 17) phones I get in the console output: >> javascript interface is an object: [object Object] On the "good" phones, everything continues, and I get all the logging that comes from subsequent parts of the app. On the "bad" phone, I get: >> Uncaught TypeError: Object [object Object] has no method 'foo' and things pretty much stop. You'd think I was in OK shape. I have a fix that involves changing one character -- not even in code, just a settings file -- and it works on all API levels. But NO, Google Play forbids lowering the targetSdkVersion. So I need to fix this for real. In searching, I found this issue from December. It isn't exactly what I'm seeing since deviceready does fire for me. But a lot of the elements seem very similar. https://issues.apache.org/jira/browse/CB-1879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13501660#comment-13501660 I'm happy to dig through Java source myself if it will help, but if so, I could use a little guidance getting started. Thanks, Andrew