私は、サードパーティのアプリケーションで使用されるいくつかの機能を持つアンドロイドライブラリを構築しています。私のライブラリでは、ネットワーク関連のものにアクセスする必要があり、ConnectivityManagerを取得するためにContext.getSystemService()にアクセスする必要があります。例えば、 -アクティビティやコンテキストを持たないライブラリ内のConnectivityManagerへのアクセス
ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
問題は、私はからコンテキストを取得するには、アクティビティクラスを持っていないということです。したがって、2つの質問 -
- 私のライブラリメソッドが呼び出されたアクティビティのコンテキストを取得する方法はありますか?
- アプリのアクティビティコンテキストを第三者のライブラリに渡すようにアプリケーション(私のライブラリを呼び出す)に依頼するのがよい方法ですか?
ありがとう!
コンストラクタまたはメソッドのパラメータに 'context'を渡します。 –
必ずしもアクティビティである必要はありません。アプリケーションコンテキストでも渡すことができます。アプリケーションコンテキストを使用している場合は、ライブラリの初期化中にSOがある可能性があります。 – ifiok
difyzz - 呼び出し元のアプリケーションから継承する必要がありますか?それとも私はクラスそのものの中でそれを得ることができますか? – snakepitbean