Toast et l'Intention, à la fois il faut faire référence au contexte. Et getApplication, getcontexteapplication, LoginActivity.ce et getBaseContext, ils proposent tous référence au contexte.
Maintenant, la chose confond est la déclaration de différents contextes et de leur utilisation. Pour rendre les choses simples, vous devez compter deux types de contexte disponible dans l'Android cadre.
- Le Contexte De L'Application
- Contexte D'Activité
L'Application de contexte est attachée à l'application du cycle de vie et sera toujours le même tout au long de la durée de vie de l'application. Donc, si vous utilisez des Toasts, vous pouvez utiliser le contexte de l'application ou même contexte d'activité (les deux), car un toast peut être porté de n'importe où dans votre application et n'est pas attaché à une fenêtre.
L'activité de contexte est attaché à l'Activité du cycle de vie et peuvent être détruits si l'activité est onDestroy est soulevée. Si vous souhaitez lancer une nouvelle activité, vous devez avoir besoin d'utiliser de l'activité du contexte dans son Intention , de sorte que le lancement de la nouvelle activité est liée à l'activité courante (en termes d'activité de la pile). Toutefois, vous pouvez utiliser l'application en contexte pour lancer une nouvelle activité, mais ensuite, vous devez définir le drapeau de l'Intention.FLAG_ACTIVITY_NEW_TASK dans l'intention de la traiter comme une nouvelle tâche.
Maintenant, en se référant à votre cas:
LoginActivity.this
si sa se référant à votre propre classe qui s'étend de l'Activité de classe, mais la classe de base (Activité) s'étend aussi au Contexte de la classe, de sorte qu'il peut être utilisé pour offrir contexte d'activité.
getApplication()
si sa se référant à l'objet Application, mais la classe d'Application s'étend au Contexte de la classe, de sorte qu'il peut être utilisé pour offrir contexte de l'application.
getApplicationContext()
offre de contexte de l'application.
getBaseContext()
offres contexte d'activité.
Conseils: si vous avez besoin de manipuler Views
puis aller pour
L'activité de Contexte, d'autre Application-Contexte serait suffisant.