J'ai beaucoup recherché cette question sur Google et j'ai trouvé de nombreuses recommandations différentes sur le moment d'utiliser getBaseContext, getApplicationContext ou le propre pointeur this d'une activité.
Trois règles qui reviennent souvent et semblent avoir beaucoup de sens sont -
En supposant que ceux-ci sont corrects, à quoi sert getBaseContext?
J'ai vu de nombreux exemples où de nouvelles intentions sont créées en utilisant -
Intent intent = new Intent(getBaseContext(), myClass.class);
Par opposition à -
Intent intent = new Intent(this, myClass.class);
Quelle est la méthode correcte ou recommandée et pourquoi?
GetBaseContext () est la méthode de ContextWrapper. Et ContextWrapper est, "Implémentation proxy de Context qui délègue simplement tous ses appels à un autre Context. Peut être sous-classé pour modifier le comportement sans changer le Contexte d'origine." (selon javadocs)
Donc, cela est utilisé pour déléguer les appels à un autre contexte.