Studio Android:
Ne placez pas de classes de contexte Android dans des champs statiques; il s'agit d'une fuite de mémoire (et interrompt également Instant Run)
Donc 2 questions:
# 1 Comment appeler a à startService
partir d'une méthode statique sans variable statique pour le contexte?
# 2 Comment envoyer un localBroadcast à partir d'une méthode statique (idem)?
Exemples:
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);
}
}
ou
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);
Quelle serait la bonne façon de faire cela sans utiliser mContext
?
REMARQUE: je pense que ma principale question pourrait être de savoir comment passer le contexte à une classe à partir de laquelle réside la méthode d'appel.