アプリケーションにSMSブロードキャストレシーバーがあり、レシーバーをアクティブにするかどうかを静的なブール値で設定しています。
public class SmsListener extends BroadcastReceiver {
public static boolean activated = false;
@Override
public void onReceive(Context context, Intent intent)
if (activated){ //do something
}
...
}
}
次に、SMSレシーバーをアクティブにするかどうかを決定するウィジェットがあります(この静的値を介して)。すべて正常に動作しますが、電話のメモリが少なくなると、SMS リスナーがその状態を失い、アプリケーションが期待どおりに動作しないことに気付きました。Androidのライフサイクルに関連していると思います。バックグラウンドでサービスがなく、システムがプロセスを強制終了します。私が使用したアプローチは避けるべきですか?Androidプロセスの強制終了を避けるためだけに、常にサービスを開始する必要がありますか?
ありがとう
トビア・ロスキアヴォ