Android Studio:
Не розміщуйте контекстні класи Android у статичних полях; це витік пам'яті (і також порушує миттєвий запуск)
Отже, 2 питання:
# 1 Як викликати a startService
із статичного методу без статичної змінної для контексту?
# 2 Як відправити localBroadcast із статичного методу (того самого)?
Приклади:
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);
}
}
або
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);
Яким буде правильний спосіб зробити це без використання mContext
?
ПРИМІТКА: Я думаю, моє головне питання може полягати в тому, як передати контекст класу, з якого живе метод виклику.