Ich baue eine Android-Bibliothek mit einigen Funktionen, die von Drittanbieter-Apps verwendet werden. Innerhalb meiner Bibliothek muss ich auf netzwerkbezogene Daten zugreifen und muss auf Context.getSystemService() zugreifen, um ConnectivityManager zu erhalten. Für z.B. -Zugriff auf ConnectivityManager in einer Bibliothek ohne Aktivität oder Kontext
ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
Das Problem ist, dass ich keine Aktivitätsklasse haben, zu bekommen Kontext aus. Also 2 Fragen -
- Gibt es eine Möglichkeit, den Kontext der Aktivität zu erhalten, von dem meine Bibliotheksmethode aufgerufen wurde?
- Ist es eine gute Praxis, die App (Aufruf meiner Bibliothek) zu bitten, den Aktivitätskontext der App an eine Bibliothek eines Drittanbieters weiterzuleiten?
Vielen Dank!
Übergeben Sie 'context' in Konstruktor oder Methode Parameter –
Es muss nicht unbedingt eine Aktivität sein. Sie können den Anwendungskontext ebenfalls übergeben. SO kann in Ihrer Bibliothek Initialisierung sein, wenn Sie den Anwendungskontext verwenden, dann nutzen Sie die – ifiok
difyzz - Muss es noch von der aufrufenden App übergeben werden? Oder kann ich es in meiner Klasse selbst bekommen? – snakepitbean