我正在構建一個具有一些功能的Android庫,供第三方應用程序使用。在我的庫中,我需要訪問網絡相關的東西,並且需要訪問Context.getSystemService()來獲取ConnectivityManager。對於例如 -在沒有活動或上下文的庫內訪問ConnectivityManager
ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
的問題是,我沒有一個活動類,從中獲取上下文。所以2個問題 -
- 有沒有辦法獲得我的庫方法被調用的活動的上下文?
- 請問應用程序(調用我的庫)是否將應用程序的活動上下文傳遞給第三方庫是一種很好的做法?
謝謝!
在構造函數或方法參數 –
中傳遞'context'它不一定是一個活動。您也可以傳入應用程序上下文。 SO可能在您的庫初始化中,如果您使用應用程序上下文,那麼請利用 – ifiok
difyzz - 它是否仍需要由調用應用程序傳遞?還是我可以在我的課堂內得到它? – snakepitbean