使用帐号工具包第二次无需输入验证码即可验证手机号码

时间:2018-08-14 11:26:31

标签: android account-kit

我正在尝试使用帐户工具包实施移动验证。第一次使用代码验证数字,但是第二次不使用代码进行验证。我已实现如下:

 public void phoneLogin() {
    final Intent intent = new Intent(this, AccountKitActivity.class);
    uiManager = new SkinManager(SkinManager.Skin.TRANSLUCENT,
            ContextCompat.getColor(this, R.color.cancel_ride_color), R.drawable.banner, SkinManager.Tint.WHITE, 85);
    configurationBuilder =
            new AccountKitConfiguration.AccountKitConfigurationBuilder(
                    LoginType.PHONE,
                    AccountKitActivity.ResponseType.TOKEN); // or .ResponseType.TOKEN
    configurationBuilder.setUIManager(uiManager);
    intent.putExtra(
            AccountKitActivity.ACCOUNT_KIT_ACTIVITY_CONFIGURATION,
            configurationBuilder.build());
    startActivityForResult(intent, APP_REQUEST_CODE);
}

关于“活动结果”,我实现了以下内容:

@Override
protected void onActivityResult(
        final int requestCode,
        final int resultCode,
        final Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (data != null) {
        if (requestCode == APP_REQUEST_CODE) { // confirm that this response matches your request
            AccountKitLoginResult loginResult = data.getParcelableExtra(AccountKitLoginResult.RESULT_KEY);

            AccountKit.getCurrentAccount(new AccountKitCallback<Account>() {
                @Override
                public void onSuccess(Account account) {
                    Log.e(TAG, "onSuccess: Account Kit" + account.getId());
                    Log.e(TAG, "onSuccess: Account Kit" + AccountKit.getCurrentAccessToken().getToken());
                    if (AccountKit.getCurrentAccessToken().getToken() != null) {
                        SharedHelper.putKey(RegisterActivity.this, "account_kit_token", AccountKit.getCurrentAccessToken().getToken());

                        PhoneNumber phoneNumber = account.getPhoneNumber();
                        String phoneNumberString = phoneNumber.toString();
                        SharedHelper.putKey(RegisterActivity.this, "mobile", phoneNumberString);
                        registerAPI();
                    } else {
                        SharedHelper.putKey(RegisterActivity.this, "account_kit_token", "");
                        SharedHelper.putKey(RegisterActivity.this, "loggedIn", getString(R.string.False));
                        SharedHelper.putKey(context, "email", "");
                        SharedHelper.putKey(context, "login_by", "");
                        SharedHelper.putKey(RegisterActivity.this, "account_kit_token", "");
                        Intent goToLogin = new Intent(RegisterActivity.this, WelcomeScreenActivity.class);
                        goToLogin.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                        startActivity(goToLogin);
                        finish();
                    }
                }

                @Override
                public void onError(AccountKitError accountKitError) {
                    Log.e(TAG, "onError: Account Kit" + accountKitError);
                    displayMessage(getResources().getString(R.string.social_cancel));
                }
            });


        }
    }
}

0 个答案:

没有答案
相关问题