我正在为我的公司开发此Android应用程序(假设主要域名为mycompany.com
),我需要使用设备所在国家/地区的特定顶级域名(TLD)打开公司网站。所以,基于区域的国家代码对我来说并不合适。如何根据设备所在国家/地区打开域名?
我的意思是,如果您目前在国外在西班牙并且您打开我们的应用程序,则应该打开mycompany.es
,如果您在意大利它应该打开mycompany.it
等等。我不需要为每个可能的国家都提供这个服务,只需要几个国家,如果当前的国家/地区代码与任何特定的国家/地区代码都不匹配,则后退将为mycompany.com
。
我真的需要这个之前做我的应用程序的任何其他事情,这将是一个WebView
打开公司的网络应用程序。换句话说,在获取设备所在的国家/地区代码之前,该应用程序无法使用。这是因为一些国家(如西班牙)迫使我们只有mycompany.es
而mycompany.com
在ISP级完全被阻止。
我需要此功能可以跨所有设备,手机/平板电脑,所有移动网络或仅使用Wi-Fi。像TelephonyManager.getNetworkCountryIso()
的东西可能没有帮助。
我需要通过LocationManager
或Google的位置服务API获取位置信息。与他们中的任何一个我需要得到最后一个知道的位置,但如果由于某种原因我没有得到一个,我需要请求位置更新并等待它。有了Google的服务,用户可能会禁用定位服务,这也是一个问题。我不得不倒退到LocationManager
,这似乎并不可靠。
所有这些解决方案似乎很麻烦,只是为了将设备的当前国家/地区代码加载到正确的域中的WebView URL。但我想我没有其他选择。
除非有人知道这个问题的更好的解决方案......想法?
你是什么意思,位置服务为我处理fallback? –
这个主题总结得很好http://stackoverflow.com/questions/33022662/android-locationmanager-vs-google-play-services –
我在发布这个问题之前遇到过这篇文章,我没有注意到任何关于倒退。但是当我回家时我会仔细看看。谢谢。 –