Estudio de Android:
No coloque clases de contexto de Android en campos estáticos; esto es una pérdida de memoria (y también rompe Instant Run)
Entonces, 2 preguntas:
# 1 ¿Cómo se llama a startService
desde un método estático sin una variable estática para el contexto?
# 2 ¿Cómo se envía una transmisión local desde un método estático (mismo)?
Ejemplos:
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);
¿Cuál sería la forma correcta de hacer esto sin usar mContext
?
NOTA: Creo que mi pregunta principal podría ser cómo pasar contexto a una clase de la que vive el método de llamada.