You decompiled Google Maps too, eh?
I was interested to see exactly how they were doing the "My Location" bit but I'll check out the Service Book stuff now, as well.
The way I do the APN settings is with an XML file (I'm one of those people who actually likes XML). It's pretty simple; just something like
Code:
<networks>
<network id="12345678" name="T-Mobile" country="US">
<wap-settings>WapGatewayIP=216.155.165.5;WapGatewayAPN=wap.voicestream.com;WapGatewayPort=9201</wap-settings>
</network>
</networks>
I'll first try to get the network ID and match against that. If the config file doesn't include the network ID that was found on the device then I'll try a fallback to the carrier name plus country code. The carrier name is determined empiracly, I run a test app on different carriers to create a list of carrier names, such as "T-Mobile" and "Cingular". Same with carrier ID.
And then obviously, I append the "wap-settings" value to the end of all my URLs (after adding a semi-colon). You can get those values from a number of sites out there.
I've always had the suspicion that this isn't entirely necessary; perhaps Goog's way is better.