Think your app supports Android 4.0 just because you support 2.2 or 2.3? Maybe not. If your app uses a few common Java classes, you may want to double check your app on several 4.0 devices.
Probably like most developers, when we saw Ice Cream Sandwich release, we didn’t have any thoughts that our app may not work properly. All the changes seemed to be more closely related to the UI, not the heart of the framework.
A few months ago, we noticed a handful of reviews popping up on the market mentioning total failures and really strange behavior. On some of the reviews, we got the lucky tip of a Nexus S being used, as well as other potential 4.0 devices like the Motorola Zoom. These strange reviews prompted us to go out and grab several 4.0 devices just to see what was going on.
It turns out, the mass majority of our web calls were being kicked back from the server with strange errors about Post requests being sent instead of Get requests.
After a bit of research, I discovered Stack Overflow comes to the rescue as usual ( one and two). In short, the problem has to do with a update to the HttpURLConnection class. Specifically, the setDoOutput method has been changed (it actually works now). A quick review of the HttpURLConnection documents show a few new updates that really should be reviewed by anyone who is using it.
So with the above changes in mind, it’s a really good idea to check your app versus any new versions coming out. There’s really no way to find this landmine without actually using the app on an Ice Cream Sandwich device. Always remember that the more Android specific APIs are not the only classes are modified by Google. The Android team has free reign to change any other aspect they see fit.