我在哪里? - 獲得國家Android移動設備實際上確實知道它在哪里 - 但有沒有辦法通過類似國家代碼的方式檢索國家?無需了解確切的GPS位置 - 這個國家就足夠了我首先考慮使用時區(qū),但實際上我需要更多的信息,因為如果位置是紐約或利馬它會有所不同。問題的背景:我有一個使用溫度值的應用程序,我想將默認單位設置為Celsius或Fahrenheit,具體取決于位置是美國還是外部
3 回答

心有法竹
TA貢獻1866條經(jīng)驗 獲得超5個贊
這將獲得為手機設置的國家/地區(qū)代碼(手機語言,非用戶位置):
String locale = context.getResources().getConfiguration().locale.getCountry();
也可以用getISO3Country()替換getCountry()以獲得該國家的3字母ISO代碼。這將獲得國家名稱:
String locale = context.getResources().getConfiguration().locale.getDisplayCountry();
這似乎比其他方法更容易,并依賴于手機上的本地化設置,所以如果美國用戶在國外,他們可能仍然需要華氏溫度,這將工作:)
編者注:此解決方案與手機的位置無關。這是不變的。當您前往德國時,地區(qū)不會改變。簡而言之:locale!= location。

ABOUTYOU
TA貢獻1812條經(jīng)驗 獲得超5個贊
實際上我只是發(fā)現(xiàn)使用getSimCountryIso()方法獲得國家代碼還有一種方法TelephoneManager
:
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);String countryCode = tm.getSimCountryIso();
因為它是sim代碼,所以在去其他國家旅行時也不應該改變。
- 3 回答
- 0 關注
- 482 瀏覽
添加回答
舉報
0/150
提交
取消