Ich möchte einen Alertdialog anzeigen, wenn der Benutzer sich zum ersten Mal anmeldet (ich verwende Firebase-Authentifizierung). Irgendwelche Ideen, wie ich das machen kann? Ich habe versucht, SharedPreferences zu verwenden, aber das zeigt nur den Alertdialog an, wenn die Anwendung das erste Mal auf dem Gerät ausgeführt wird. Ich möchte, dass es benutzerspezifisch ist, so dass der Alertdialog für jeden Benutzer bei der ersten Anmeldung angezeigt wird.Android - Alertdialog für authentifizierten Firebase-Benutzer
Antwort
Eine Möglichkeit besteht darin, den Dialog kurz vor dem Aufruf von finish() bei Ihrer Anmeldeaktivität anzuzeigen. Eine andere Möglichkeit besteht darin, zu überprüfen, dass FirebaseAuth.getInstance(). GetCurrentUser() nicht null zurückgibt und dann das Dialogfeld von der Aktivität aus anzeigt, von der aus es gerade aufgerufen wird. Danach speichern Sie ein "alert displayed" -Flag in den Einstellungen, die mit der Benutzer-ID verknüpft sind, und prüfen Sie, ob diese vorhanden ist, bevor Sie die Warnung anzeigen.
Es tut mir leid, nicht genauer zu sein. Bitte posten Sie Ihren Code, wenn Sie eine genauere Antwort wünschen.
Danke, ich werde deine zweite Lösung versuchen – John
In Ihrer onActivityResult
können Sie die progressDialog
so zeigen.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
// Google Sign In was successful, authenticate with Firebase
GoogleSignInAccount account = result.getSignInAccount();
progress = new ProgressDialog(this);
progress.setMessage("Connecting Please Wait!..");
progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progress.setIndeterminate(false);
progress.show();
firebaseAuthWithGoogle(account);
} else {
// Google Sign In failed, update UI appropriately
// ...
}
}
}
und die firebaseAuthWithGoogle(GoogleSignInAccount account)
Funktion ist
private void firebaseAuthWithGoogle(GoogleSignInAccount acct) {
Log.d(TAG, "firebaseAuthWithGoogle:" + acct.getId());
AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
progress.cancel();
// Sign in success, update UI with the signed-in user's information
//and here you can use your sharedPreference for that Account.
Log.d(TAG, "signInWithCredential:success");
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "signInWithCredential:failure", task.getException());
Toast.makeText(MainActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
}
});
}
und der folgende Code ist, wo Sie für die überprüfen, ob der Benutzer signedIn ist oder nicht
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
final FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
startActivity(new Intent(MainActivity.this,HomeActivity.class));
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
}
};
Ich hoffe, es hilft. Wie Sie sehen FirebaseAuth
Sie neigt dazu, ohne sharedPreference
zu helfen einzuloggen, aber wenn Sie es verwenden möchten, können Sie einfach sicher, dass Sie sharedPreference
auf dem Klicken SignOut Knopf in Ihrer Anwendung
- 1. android AlertDialog setView Regeln
- 2. Android TabActivity in AlertDialog
- 3. Android Überschreibung Alertdialog onClick
- 4. wie android alertdialog wiederverwenden
- 5. Erstellen einer Modellklasse für Alertdialog Android
- 6. Android Adapter AlertDialog Fehler
- 7. Android Alertdialog in AppCompatActivity
- 8. Android AlertDialog Titel Hintergrundfarbe
- 9. Bild über Alertdialog - Android
- 10. Android - Benutzerdefinierte AlertDialog Hintergrundfarbe
- 11. Android AlertDialog zeigt leer
- 12. Android- AlertDialog() stürzt ab
- 13. sticky AlertDialog in android
- 14. Android Alertdialog Ausgabe
- 15. Android: AlertDialog zeigt nicht
- 16. Android AlertDialog Größe Theme
- 17. Android Alertdialog immer oben
- 18. Standardpolsterung für AlertDialog
- 19. Zeige Android Wear Stil Alertdialog
- 20. Telefonnummer in AlertDialog validieren -Android
- 21. Android Alertdialog in Aktivität Dialog.Theme
- 22. Android AlertDialog mit transparentem Hintergrund
- 23. OnClickListener in benutzerdefinierten alertdialog Android
- 24. Android AlertDialog mit Bild innerhalb
- 25. AlertDialog mit Kontrollkästchen In Android
- 26. Android - Karte Duplikate nach Alertdialog
- 27. Android AlertDialog Ausnahme "Ressourcen $ NotFoundException"
- 28. Android MapView innerhalb von AlertDialog
- 29. Android Alertdialog Builder besserer Code
- 30. Android Studio AlertDialog Onlcick Problem
zerstören, was Sie bisher versucht haben? –