次のような特定の関数を呼び出すために、Context オブジェクトを提供する必要がある場合があります。
Intent intent = new Intent(context, MyClass.class);
サービスを開始するために
context.startService(intent);
または、クエリを実行するための Context オブジェクトを提供します
Cursor cursor = context.managedQuery(uri, projection, null, null, null);
これが Activity を拡張する UI クラスで行われる場合は問題ありません。ただし、何も拡張せずにこれらの関数を呼び出す独自のユーティリティ クラス (シングルトン) を作成する場合、必要な Context オブジェクトがありません。私の回避策は、ユーティリティ クラスの初期化中にアクティビティ参照を渡し、その参照を使用してそれらの関数を呼び出すことです。私はそれを行う正しい方法は何だろうと思っています。すべてのクラスで Context を拡張して、これらの関数を呼び出せるようにすることは合理的ではありません。