Я пытаюсь добавить больше флагов в Intent для запуска нового действия внутри BroadcastReceiver, отвечая на конкретный намерение, отправленное из другой части приложения. Я добавил, поскольку по сообщениям LogCat я заметил флаг FLAG_ACTIVITY_NEW_TASK
в созданном мной Intent, а затем другие, но я получаю ту же ошибку в LogCat, что и FLAG_ACTIVITY_NEW_TASK
.Несколько флагов Intent для запуска новой активности в Android
Вот код:
public class actReceiver extends BroadcastReceiver {
...
public void onReceive(Context context, Intent intent) {
...
else if (intent.getAction().equals("something")) {
Intent prefAct = new Intent(context, PreferencesActivity.class)
prefAct.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS)
.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(prefAct);
}
... }
... }
И конкретная ошибка LogCat:
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?