I have an application that I used to test in my Android phone with 2.3.3 and it uses GPS and Network Location. However, I tried in two different ICS (4.0+) phones and the network location never updates. I have the required permissions in the manifest (INTERNET, ACCESS_LOCATION, ACCESS_GPS, ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, ACCESS_NETWORK_STATE) and it used to work.
I'm able to get a location "hint" in ICS through lastKnownLocation, but I really need network location enabled. It still works on the Android 2.3.3 but not on more recent versions.
Is there anything I must change for ICS?
I had the same problem on my both 4.1.1 Android phones. It seems that location somehow "stuck" to one location and doesn't want to change.
Restart phone and location updates will start to work OK.
I also tried other applications from the Play Market that use MapView, and they also couldn't find my current location. GoogleMaps application was not influenced with this problem, and it always worked OK.
BTW, you are using more permissions than you need. You must include android.permission.INTERNET, and one of the following: android.permission.ACCESS_FINE_LOCATION or android.permission.ACCESS_COARSE_LOCATION.