Я действительно запутался со всем этим контекстом приложения / деятельности. Я хочу вызвать некоторые из методов активности из классов, например, мои собственные WebChromeClient
или ConnectionChangeReceiver
(обнаружение изменений сетевого подключения).
Пример кода:
public class MyWebChromeClient extends WebChromeClient {
MyWebView webview;
MyApp app;
// own constructor to store info about webview which is used in the current
//webchrome client
public MyWebChromeClient(Context context, MyWebView wv)
{
this.webview = wv; // store information about current webview (leaks?)
this.app = context.getApplicationContext(); // store app context
}
public void onConsoleMessage(String message, int lineNumber, String sourceID) {
app.getActivityWhichIsUsingThisWebView().logFromWebView(webview, message); // ??
}
}
Как этого добиться? Есть ли какой-нибудь разумный образец, который мог бы помочь мне избежать утечек памяти?