Correctement ignorer l'activité de connexion s'il est déjà connecté
Mon icône de lancement débute actuellement l'activité de connexion. J'ai stocké le statut de connexion dans SharedPreferences. Est-il possible de correctement ignorer l'activité de connexion et aller directement à l'activité principale, sans tout de l'INTERFACE utilisateur pépins. Toutes les solutions existantes impliquant finish()
dans onCreate()
cause de la connexion titre de l'activité d'être brièvement visible, ou certains autres brèves vierge écran de l'INTERFACE utilisateur glitch.
- Fournir le code source
- Je n'ai pas de solution de travail. Toute solution impliquant
onCreate()
provoque la connexion titre de l'activité d'être visible. - Ne fais pas de launcher de votre activité de connexion. Juste faire de l'écran de démarrage.
- Les écrans de démarrage sont irritants. Je tiens à proprement charge de l'activité principale.
- l'écran de démarrage n'est pas recommandé. Ses ne cesse de l'utilisateur en attente pour la maison de l'activité à être lancé.
Vous devez vous connecter pour publier un commentaire.
Ont un lanceur acitivy sans INTERFACE utilisateur qui décide d'ouvrir le MainActivity ou la LoginActivity. Vous pouvez déclarer pas d'INTERFACE utilisateur avec:
Deux autres solutions possibles:
Juste de le faire dans l'autre sens: faire de votre mainActivity votre lanceur et le faire vérifier si l'utilisateur est connecté. Ensuite rediriger vers le loginActivity quand ce n'est pas le cas.
Une autre façon est de travailler avec des fragments. Disposer d'une base d'activité qui peut charger à la fois la mainFragment et la loginFragment. Pour référence: https://developer.android.com/training/basics/fragments/index.html
Theme.NoDisplay
et juste appeléstartActivity
pour la connexion / activité principale en fonction de l'utilisateur connecté en état.Vous pouvez créer une Base de l'Activité qui va vérifier si le nom d'utilisateur et le mot de passe est déjà dans le
SharedPreferences
et commence à l'activité si elle existe donc pas.exemple:
}
BeanStalkBaseActivity devrait être votre Lanceur, comme il ne servira en tant que vérificateur.
Si vous vérifier si l'utilisateur est déjà connecté ou non à l'intérieur de l'activité principale ou l'activité en cours, et puis de passer à une autre activité si connecté, cela conduira à l'INTERFACE utilisateur des problèmes, c'est à dire votre activité en cours sera affiché pendant une seconde ou deux, puis il passera à l'activité cible.
Vous pouvez faire cela comme :
Vous pouvez également vérifier l'état de connexion lors de votre écran de démarrage de l'activité si vous en avez un. Les écrans de démarrage sont grands pour laisser les utilisateurs de l'app n'a pas décroché quand il est chargement et peut également être utilisé pour rediriger l'application à l'écran approprié.
J'ai suivi ce grand guide ma première fois de faire un: https://www.bignerdranch.com/blog/splash-screens-the-right-way/
En activité principale, il suffit de vérifier si l'utilisateur n'est pas null, alors le feu jusqu'à la maison