Ceci est mon code qui reçoivent le code du pays par l'entrée (dans onCreate()
méthode) gens. J'ai trouvé la réponse en utilisant TelephonyManager. Mais je suis confus de la façon de mettre en place pour ma variable countryCodeEdt
pour obtenir la valeur de cette méthode:Comment effectuer une pré-sélectionner le code de pays automatiquement dans Android
public static String getUserCountry(Context context) {
try {
final TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
final String simCountry = tm.getSimCountryIso();
if (simCountry != null && simCountry.length() == 2) { // SIM country code is available
return simCountry.toLowerCase(Locale.US);
}
else if (tm.getPhoneType() != TelephonyManager.PHONE_TYPE_CDMA) { // device is not 3G (would be unreliable)
String networkCountry = tm.getNetworkCountryIso();
if (networkCountry != null && networkCountry.length() == 2) { // network country code is available
return networkCountry.toLowerCase(Locale.US);
}
}
}
catch (Exception e) { }
return null;
}
que quelqu'un peut me donner quelques suggestions? Merci d'avance.
Voulez-vous dire define 'countryCode' dans la méthode' afterTextChanged (Editable s) '? – DinhNgocHien
Non Définissez-le comme une méthode séparée, comme 'onCreate', 'onResume' et ainsi de suite. – TDG
ok Je l'ai eu, cependant, 'countryCode' retourne toujours' null'. Je ne savais pas d'où venait l'erreur, car 'getUserCountry' renvoyait' null' ou à cause de mon périphérique (j'ai utilisé genymotion comme un périphérique testé) – DinhNgocHien