我正在尝试使用帐户工具包实施移动验证。第一次使用代码验证数字,但是第二次不使用代码进行验证。我已实现如下:
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));
}
});
}
}
}