Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I have a Samsung Galaxy S3.

Sometimes when I'm looking for an app, it says "not available in your country". It's very weird that I cannot see or buy paid apps, when others can see them.

Is it because of my phone, my country, my Google account, or what is it? Can I change that? If yes, how?

share|improve this question
    
Its checking based on the SIM card and the network carrier's country of origin... See this –  t0mm13b Jan 14 '13 at 21:13
1  
@t0mm13b Why not adding a few words and making this an answer? –  Izzy Jan 14 '13 at 21:22
add comment

1 Answer

The reason the OP cannot see an app due to a message not available in your country is down to the very simple check on the SIM card. Each SIM card has a carrier identification, and country code identification. When Android powers up, the Radio Interface Layer (RIL) obtains the carrier and network information in which the baseband receives over the air, here is a small subset of an example taken from Gingerbread source, apns-conf.xml

<apn carrier="Vodafone ES-Internet" mcc="214" mnc="01" apn="ac.vodafone.es" user="vodafone" password="vodafone" type="default,supl" />
<apn carrier="Vodafone" mcc="214" mnc="01" apn="airtelwap.es" user="wap@wap" password="wap125" type="default,supl" />
<apn carrier="Vodafone ES" mcc="214" mnc="01" apn="airtelwap.es" user="wap@wap" password="wap125" type="supl" />
<apn carrier="Yoigo" mcc="214" mnc="04" apn="internet" proxy="010.008.000.036" port="8080" type="default,supl" />

Notice the values for mcc, mnc, for Spain for example, in this case, 214, and 01, 04 etc, that carrier information is transmitted across to the SIM card and internally within Android for reference.

The Play Store, reads the phone state, and deduces the carrier information as a measure for "filtering" out apps based on the region/carrier. However, if the SIM card is from the country of origin, for example, UK (this also applies when roaming), Android "remembers" the mcc and mnc and pushes that aside, and gets replaced with the preferential carrier's network codes for the said values of mcc and mnc respectively when roaming, for example, Spain. (Incidentally, as a side note, that is how auto-update of time-zones are supposedly to work, by looking up the mcc, and timezone, add on x minutes to the clock maintained by Android).

But that is in a nutshell, in how the Play store determines what to show for that intended audience based on their respective network. There are work-arounds available, by faking the carrier code is one, Market Enabler does that exactly that.

Please see the other answer that was posted in how to get-around the limitations and work-arounds.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.