An alternative is to read the device locale setting using the locale class of java http://developer.android.com/referen...il/Locale.html
This class has methods that will give you the device language and country setting. Of course some users might have set their phone to their mother tongue and associated country while they live in a different country. Eg a Chinese living in USA having set his phone locale to Chinese
Depending on your goals this might be acceptable or not.
Regarding the permission to access the internet it might be necessary if you want to display ads from an ad network. But you seem to be aware of this since you say you want to display custom ads. I suppose that these custom ads will be included in you app apk file.