Android Studio:
Non collocare classi di contesto Android in campi statici; questa è una perdita di memoria (e interrompe anche Instant Run)
Quindi 2 domande:
# 1 Come si chiama a startService
da un metodo statico senza una variabile statica per il contesto?
# 2 Come si invia un localBroadcast da un metodo statico (lo stesso)?
Esempi:
public static void log(int iLogLevel, String sRequest, String sData) {
if(iLogLevel > 0) {
Intent intent = new Intent(mContext, LogService.class);
intent.putExtra("UPDATE_MAIN_ACTIVITY_VIEW", "UPDATE_MAIN_ACTIVITY_VIEW");
mContext.startService(intent);
}
}
o
Intent intent = new Intent(MAIN_ACTIVITY_RECEIVER_INTENT);
intent.putExtra(MAIN_ACTIVITY_REQUEST_FOR_UPDATE, sRequest));
intent.putExtra(MAIN_ACTIVITY_DATA_FOR_VIEW, sData);
intent.putExtra(MAIN_ACTIVITY_LOG_LEVEL, iLogLevel);
LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Quale sarebbe il modo corretto per farlo senza utilizzare mContext
?
NOTA: Penso che la mia domanda principale potrebbe essere come passare il contesto a una classe da cui vive il metodo chiamante.