Firebase Auth获取用户所在国家

Plu*_*gie 4 android firebase-authentication

我正在使用Firebase身份验证与谷歌登录和Facebook登录

有没有其他方法可以知道用户来自哪个国家/地区?

在应用程序知道用户来自哪个国家/地区之后,应用程序将决定向用户显示哪个服务/未来.

Vik*_*rma 7

方法1: 尝试此代码.此代码将根据所连接的国家/地区的网络返回国家/地区代码.看到这里.没有SIM卡,它将无法运作.

TelephonyManager tm = (TelephonyManager)this.getSystemService(this.TELEPHONY_SERVICE);
String countryCodeValue = tm.getNetworkCountryIso();
Run Code Online (Sandbox Code Playgroud)

方法2: 如果您的设备已连接到互联网,您可以使用此链接 http://ip-api.com/json.它会根据IP地址自动检测设备返回位置详细信息的IP地址.

方法3:您可以从GPS获取位置.

 LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
String provider = locationManager.getBestProvider(criteria,true);
Location curLocation = locationManager.getLastKnownLocation(provider);
Geocoder geocoder = new Geocoder(context, Locale.getDefault());
List<Address> addresses = null;
    addresses = geocoder.getFromLocation((double)curLocal.getLatitudeE6(),(double)curLocal.getLongitudeE6(),1);
String countryCode= addresses.get(0).getCountryCode();
Run Code Online (Sandbox Code Playgroud)