IM建設,需要國家的用戶在應用程序中,我沒有問題,得到了國家,如果用戶使用的是智能手機與國家位置的Nexus 7
telephonyManager.getNetworkCountryIso()
,但我怎麼能如果達到這個他們沒有使用模擬器,即一個nexus 7?
任何幫助,將不勝感激
感謝
IM建設,需要國家的用戶在應用程序中,我沒有問題,得到了國家,如果用戶使用的是智能手機與國家位置的Nexus 7
telephonyManager.getNetworkCountryIso()
,但我怎麼能如果達到這個他們沒有使用模擬器,即一個nexus 7?
任何幫助,將不勝感激
感謝
試試這個,以檢查用戶是否是在平板電腦或手機上:
TelephonyManager telephonyManager1 = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
if(telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
// TABLET
}
else {
// YOUR PREVIOUS CODE
}
也許你可以用試區域設置,如果用戶在平板電腦中?我知道這不會給你的位置,但也許你可以嘗試根據區域的用戶必須找出:
String locale = context.getResources().getConfiguration().locale.getCountry();
希望它能幫助!
Locale不會給你當前的位置。 –
不知道是誰給你的-1,但我沒有說過解決方案是錯誤的。 ;) –
不理解-1 ... –
您可以獲取用戶位置(粗略近似值應該足夠),然後使用Geocoder查找近似地址以確定國家/地區。
其實,你的問題類似於this之一。
但是在Android中,您現在獲得了內置的Geocoder,因此無需專門調用Web服務並解碼json。有關如何獲取用戶位置的信息,請參閱Location Guide,關於如何獲取位置信息,請參閱Geocoder API。
個人而言,我的邏輯延伸到這樣的事情:
這樣你就可以覆蓋儘可能多的場景。
NB區域設置不會爲您提供當前所在的國家/地區,而是取決於您的Android設備中選擇的語言。也就是說,如果你的手機是俄文的,你會總是得到俄羅斯。
-1用於提示區域設置作爲位置的替代。 http://stackoverflow.com/a/7976432/319204 – TheCodeArtist
哦,真的嗎? :-)請告訴我其他選項,如果設備沒有任何可能性來獲取位置(沒有調制解調器,沒有WiFi,沒有GPS)? –
用關於使用語言環境的說明更新了我的回答。 –
Nexus 7不是智能手機,並且無法撥打或發送短信,所以我不認爲該選項可用於該設備。 – hardartcore
我知道它不是智能手機,我有一個...我也知道它沒有sim..hehe問題 –