次のように、ブロードキャストレシーバーのメソッド内からアクティビティを再開しようとしてonReceive()
います。
Intent i = new Intent(context, TimerSet.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
ただし、アクティビティ(TimerSet.class
)は再開されるのではなく、再作成されます。この問題に対して私が見つけた唯一の推奨される解決策は使用することでしたFLAG_ACTIVITY_REORDER_TO_FRONT
が、私はすでにそれを使用しています。
また、使用するIntent.FLAG_ACTIVITY_NEW_TASK
ことは私のユースケースに適合しませんが、それを提供しない場合、次の例外が発生します。
android:util.AndroidRuntimeException: Calling startActivity() from outside of an
Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you
want?