私はこの質問をググググググと回して、いつgetBaseContext、getApplicationContextを使用するか、または独自のthisポインタを使用するかについてさまざまな推奨事項を見つけました。
よく出てきて、理にかなっていると思われる3つのルールは-
これらが正しいと仮定すると、getBaseContextの使用は何ですか?
新しいインテントが以下を使用して作成される多くの例を見てきました-
Intent intent = new Intent(getBaseContext(), myClass.class);
とは対照的に -
Intent intent = new Intent(this, myClass.class);
正しい、または推奨される方法はどれですか。また、その理由は何ですか。
GetBaseContext()はContextWrapperのメソッドです。また、ContextWrapperは、「すべての呼び出しを別のコンテキストに委任するだけの、コンテキストのプロキシ実装です。元のコンテキストを変更せずに動作を変更するためにサブクラス化できます。」 (javadocsによる)
したがって、これは呼び出しを別のコンテキストに委任するために使用されます。