Android Studio:
Không đặt các lớp ngữ cảnh Android trong các trường tĩnh; đây là một rò rỉ bộ nhớ (và cũng phá vỡ Instant Run)
Vì vậy, 2 câu hỏi:
# 1 Làm thế nào để bạn gọi a startService
từ một phương thức tĩnh không có biến tĩnh cho ngữ cảnh?
# 2 Làm cách nào để bạn gửi một localBroadcast từ một phương thức tĩnh (giống nhau)?
Ví dụ:
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);
}
}
hoặc là
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);
Cách chính xác để làm điều này mà không sử dụng là mContext
gì?
LƯU Ý: Tôi nghĩ câu hỏi chính của tôi có thể là làm thế nào để chuyển ngữ cảnh cho một lớp mà từ đó phương thức gọi hoạt động.