Android Studio:
Androidコンテキストクラスを静的フィールドに配置しないでください。これはメモリリークです(また、インスタント実行が中断されます)
だから2つの質問:
#1startService
コンテキストの静的変数なしで静的メソッドからをどのように呼び出すのですか?
#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
か?
注:私の主な質問は、呼び出し元のメソッドが存在するクラスにコンテキストを渡す方法かもしれないと思います。