Я успешно интегрировал Войти с помощью функции Google в приложение. Мой вопрос заключается в том, как хранить эту информацию, чтобы пользователь мог пропустить экран входа в следующий раз и перейти прямо в приложение без необходимости входа в систему снова?Войти автоматически после входа в систему Google Войти
Это код до сих пор:
public class Login extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener {
@Bind(R.id.googleSignIn)SignInButton googleSignIn;
GoogleSignInOptions options;
GoogleApiClient client;
private static final int GOOGLE_SIGN_IN = 101;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
ButterKnife.bind(this);
/** CONFIGURE THE GOOGLE SIGN IN OPTIONS **/
options = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestProfile().build();
client = new GoogleApiClient.Builder(this)
.enableAutoManage(this, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, options)
.addApi(Plus.API)
.build();
/** CONFIGURE THE SIGN IN BUTTON **/
googleSignIn.setSize(SignInButton.SIZE_WIDE);
googleSignIn.setScopes(options.getScopeArray());
googleSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent signIn = Auth.GoogleSignInApi.getSignInIntent(client);
startActivityForResult(signIn, GOOGLE_SIGN_IN);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GOOGLE_SIGN_IN && resultCode == RESULT_OK) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
GoogleSignInAccount account = result.getSignInAccount();
String name = account.getDisplayName();
Log.e("DISPLAY NAME", name);
String email = account.getEmail();
Log.e("USER EMAIL", email);
String profile = String.valueOf(account.getPhotoUrl());
Log.e("USER PROFILE", profile);
} else {
Toast.makeText(getApplicationContext(), "Login failed!!", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
}
я не нашел ничего о сохраняющиеся Google Войти, когда пользователь закрывает приложение и открывает его в любое время позже. Большинство руководств в основном касаются части интеграции, в которой я уже работал. Куча вопросов на SO тоже совершенно разные. Ничего в этом контексте.
Должен ли я хранить данные учетной записи, например, SharedPreferences
? Или SDK обрабатывает эту часть сам по себе.
Я ценю любую помощь, которую вы можете предложить.
P.S .: Этот вопрос отличается от моего предыдущего вопроса о создании записи в моей базе данных MySQL.
использовать общие предпочтения; и сохраните некоторые логические и позже, когда вы заходите на экран входа в систему, вы можете проверить флаг в pref; и выполнить соответствующее действие :) – DJphy