Bugün benim uygulamamın klasik bir giriş ekranı (kullanıcı adı ve şifre) var, bu sınıf ortak bir Etkinliği genişletiyor. Ve ilk etkinliğim Giriş yapmaktır (zaten kullanıcı oturum açmışsa, eve yönlendirir).Android - AccountManager ve Giriş Klasik
Benim android bildirim:
<!-- Start Activity -->
<activity
android:name=".activity.LoginActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Ve şimdi dokümantasyon ve uygulanan, Android'in Hesap Yöneticisi dağıtmak okumaya çalışıyorum. Özellik tamam. Android hesap ayarlarına girerseniz, Uygulamaya giriş yapmanız mümkün ve bir hesap oluşturdu. Ama sorum şu: Her iki yolu da nasıl tutacağım.
Kullanıcı, uygulamayı açtığında, giriş yapar ve otomatik olarak AccountManager'da bir hesap oluşturur ve hesabın içindeki uygulamalarda da ayarlar kaydedilir. Sunucuda Kullanıcı doğrulama ve parola isteğinde bulunduktan sonra (voleybol kullanarak), hangi adımı başarmam gerektiğini nasıl öğrenmeliyim? Verileri AccountManager'a iade etmek veya bir hesap eklemek mi istiyorsunuz? Hesap Ayarları
private void finishLogin(final String email, final String authToken) {
Account account = new Account(email, AccountGeneral.ACCOUNT_TYPE);
boolean success = mAccountManager.addAccountExplicitly(account, "", null);
if (success) {
Log.d(TAG, "Account created");
mAccountManager.setAuthToken(account, mAuthTokenType, authToken);
} else {
Log.d(TAG, "Account creation failed. Look at previous logs to investigate");
}
}
Ve giriş:
Girişi klasik, sunucu doğrulama sonra "addAccountExplicitly" kullanarak hesabı eklemek
Bundle data = new Bundle();
data.putString(AccountManager.KEY_ACCOUNT_NAME, email);
data.putString(AccountManager.KEY_ACCOUNT_TYPE, accountType);
data.putString(AccountManager.KEY_AUTHTOKEN, authToken);
data.putString(PARAM_USER_PASS, password);
final Intent intent = new Intent();
intent.putExtras(data);
final Account account = new Account(email, accountType);
if (getIntent().getBooleanExtra(ARG_IS_ADDING_NEW_ACCOUNT, false)) {
Log.d(TAG, " finishLogin > addAccountExplicitly");
// Creating the account on the device and setting the auth token we got
// (Not setting the auth token will cause another call to the server to authenticate the user)
mAccountManager.addAccountExplicitly(account, password, null);
mAccountManager.setAuthToken(account, mAuthTokenType, authToken);
} else {
Log.d(TAG, " finishLogin > setPassword");
mAccountManager.setPassword(account, password);
}
setAccountAuthenticatorResult(intent.getExtras());
setResult(RESULT_OK, intent);
finish();