我希望我的应用程序可以在特定地区(例如美国)运行。
我们可以限制来自游戏市场的应用程序的分发,但是我发现安装这些应用程序有一些技巧。
我必须以某种方式限制应用程序内的使用。
为此,我可以检索用户的GPS位置,并使用Google的Geocode API进行首次运行。但是,如果用户前往其他地区怎么办?
我将不得不使用位置更改侦听器来满足这种情况,但这会耗尽电池。
如果我使用设备的时区,则用户可以更改它。
我还可以做其他事情来将应用程序限制在特定区域吗?
您还可以检查用户注册所在的网络 TelephonyManager
您有2种方法可能会有所帮助。
GetNetworkCountryIso
和
GetSimCountryIso
http://developer.android.com/reference/android/telephony/TelephonyManager.html#getSimCountryIso()
解释
getNetworkCountryIso()
会为您提供用户当前注册所在国家/地区的iso。
即:如果您来自阿尔巴尼亚(al)并前往美国(美国),则返回“我们”
getSimCountryIso()
将为您提供SIM卡提供商所在国家/地区的国家/地区的iso。.
即:如果您来自阿尔巴尼亚(al)并前往美国(美国),则将返回“ al”
更新
您可以集成(如果服务器端可用)http://www.whois.net/ip-address-lookup/以查找设备IP地址。您可以像这样获得IP。
结合所有这些功能(Wifi,网络提供商,IP,GPS,Google Play区域),您可以减少很多应用程序的使用限制。另一方面,如果用户足够先进,可以使用代理伪造IP,不打开Wifi / GPS且没有SIM卡,则没有更多的事情要做。
希望能帮助到你 :)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句