Android Firebase:电话验证自定义国家/地区代码

时间:2017-09-20 16:00:22

标签: android firebase firebase-authentication

我通过电话进行Firebase身份验证的代码是:

startActivityForResult(
    AuthUI.getInstance()
    .createSignInIntentBuilder()
    .setAvailableProviders(
        Collections.singletonList(newAuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build()))
    .build(), RC_SIGN_IN);

结果是 Firebase auth. by phone

默认情况下,国家/地区代码为1 (USA)

我是否需要默认设置其他国家/地区代码(例如244)。我怎么能这样做?

4 个答案:

答案 0 :(得分:0)

 Bundle params = new Bundle();
 params.putString(EXTRA_DEFAULT_COUNTRY_CODE, "AO");

 IdpConfig phoneConfigWithDefaultNumber =
          new IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER)
                  .setParams(params)
                  .build();

请参阅此here

答案 1 :(得分:0)

IdpConfig phoneConfigWithDefaultNumber =
          new IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER)
                  .setParams(params)
                  .build();
在我的情况下,

setparam不是解析符号。

答案 2 :(得分:0)

public class CountryData {
    public static final String[] countryNames = {"Afghanistan", "Albania",
            "Algeria", "Andorra", "Angola", "Antartica", "Argentina", "Armenia",
            "Aruba", "Australia", "Austria", "Azerbaijan", "Bahrain", "Banglades", "Belarus", "Belgium", "Belize",
            "Benin", "Bhutan", "Bolivia", "Bosnia And Herzegovina", "Botswana", "Brazil", "Brunei Darussalam",
            "Bulgaria", "Brukina Faso", "Myanmar", "Brundi", "Combodia", "Cameroon", "Canada", "Cape Verde",
            "Central African Republic", "Chad", "Chile", "China", "Chrismas Island", "Cocos(Keeling) Islands",
            "Colombia", "Comoros", "Congo", "Cook Islands", "Costa Rica", "Crotia",
            "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibuti", "Timor-leste", "Ecuador", "Egypt", "El Salvador",
            "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Island (malvinas)", "Faroe Islands", "Fiji",
            "Finland", "France", "French Polynesia", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar",
            "Greece", "Greenland", "Guatemala", "Guinea", "Guinea-bissau", "Guyan", "Haiti",
            "Honduras", "Hong Kong", "Hungary", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy",
            "Ivory Coast", "Jamaica", "Japan", "Jordan", "KazaKhstan", "Kenya", "Kiribati", "Kuwait",
            "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
            "macao", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania",
            "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montenegro", "Morocco",
            "Mozambique", "Nambia", "Nauru", "Nepal", "Netherland", "New Caledonia", "New Zealand", "Nicargua", "Niger", "Nigeria",
            "Niue", "Korea", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines",
            "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Romania", "Russian Federation", "Rwanda", "Saint Barthelemy", "Samoa",
            "San Marino", "Sao Tome And Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Island",
            "Somalia", "South Africa", "Korea", "Republic of", "Spain", "Sri Lanka", "Saint Helen", "Saint Pierre And Miquelon", "Sudan", "Suriname", "Swaziland",
            "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Togo", "Tokelau", "Tonga", "Tunisia", "Turkey", "Turkmenistan",
            "Tuvalu", "United Arab Emirates", "Uganda", "United Kingdom", "Ukraine", "Uruguay", "United States", "Uzbekistan", "Vanuatu", "Holy See (Vatican City State)",
            "Venezuela", "Viet Nam", "Wallis And Futuna", "Yemen", "Zambia", "Zimbabwe"};

    public static final String[] countryAreaCodes = {"93", "355", "213", "376", "244", "672", "54", "374", "297", "61", "43",
            "994", "973", "880", "375", "32", "501", "229", "975", "591", "387", "267", "55", "673", "359", "226", "95", "257", "855",
            "237", "55", "673", "359", "226", "95", "257", "855", "237", "1", "238", "236", "235", "56", "86", "61", "61",
            "57", "269", "242", "682", "506", "385", "53", "357", "420", "45", "253", "670", "593", "20", "503", "240", "291", "372", "251", "500",
            "298", "679", "358", "33", "689", "241", "220", "995", "49", "233", "350", "30", "299", "502", "224", "245", "592", "509", "504",
            "852", "36", "91", "62", "98", "964", "353", "44", "972", "39", "225", "1876", "81", "962", "7", "254", "686", "965", "996",
            "856", "371", "961", "266", "231", "218", "423", "370", "352", "853", "389", "261", "265", "60", "960", "223", "356", "692", "222",
            "230", "262", "52", "691", "373", "377", "976", "382", "212", "258", "264", "674", "977", "31", "687", "64", "505", "227", "234", "683", "850", "47",
            "968", "92", "680", "507", "675", "595", "51", "63", "870", "48", "351", "1", "974", "40", "7", "250", "590", "685", "378", "239", "966",
            "221", "381", "248", "232", "65", "421", "386", "677", "252", "27", "82", "34", "94", "290", "508", "249", "597", "268", "46", "41", "963", "886", "992",
            "255", "66", "228", "690", "676", "216", "90", "993", "688", "971", "256", "44", "380", "598", "1", "998", "678", "39", "58", "681", "967", "260", "263"};
}

答案 3 :(得分:0)

使用最新版本(我正在使用4.3.1)的库,您可以在构建IdpConfig对象时直接设置默认参数

AuthUI.IdpConfig.PhoneBuilder()
                            .setDefaultCountryIso("IN")
                            .build()

Example input: {'+52', 'us'}

PS:我不确定它是何时首次添加到库中