Der Kontext möchte FLAG_ACTIVITY_NEW_TASK, aber ich habe dieses Flag bereits gesetzt

Ich habe eine gemeinsame wiederverwendbare Klasse für das Unternehmen erstellt, für das ich arbeite, um einige gemeinsame Oberflächenelemente zu erstellen.

Die Klasse nimmt einen einzelnen Parameter wie im Konstrukt auf: einen Anwendungskontext.

eine der Methoden,ContentClickableRowWithIcon Ermöglicht die Übergabe einer Absicht, die als Klickaktion verwendet werden soll.

Hier ist die vollständige Methodendeklaration:

public LinearLayout ContentClickableRowWithIcon(Drawable icon, String title, Intent i, final Boolean chooser)

Das letzte dort angegebene Attribut wird im onClickEvent verwendet, um zu bestimmen, ob eine Auswahl aufgerufen werden soll oder ob direkt mit der Absicht begonnen werden soll.

public LinearLayout ContentClickableRowWithIcon(Drawable icon, String title, Intent i, final Boolean chooser) {

    LinearLayout ll = new LinearLayout(mContext);

    // ..  LinerLayout construction, has nothing to do with the action

    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // this is apparently getting ignored... (ps: i've tried i.setFlags as well)

    final Intent intent = i;

    ll.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            if(chooser)
                mContext.startActivity(Intent.createChooser(intent, "Complete With...")); // crashes here with: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
            else
                mContext.startActivity(intent); // this works fine

        }
    });

    return ll;
}

Wie in den Kommentaren erwähnt, funktioniert jedes Mal, wenn ich die Möglichkeit zur Verwendung eines Auswahlfensters nicht zur Verfügung stelle, alles in Ordnung (alles in dieser Liste erhält ein neues Aktivitätsflag, ich bin mir dessen sehr wohl bewusst und werde aufräumen, wenn dieses Problem herausgefunden wird).

In dem Moment, in dem ich das tue, wirft die Ausnahme:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

Ich habe keine Ideen mehr ...

/// EDIT :: Bemerkenswerterweise wird beim Debuggen das flags-Attribut im Intent auf gesetzt268435456 mit addFlags und268435456 mit setFlags, wenn der Zeitpunkt erreicht ist, an dem die Absicht in der Aktion onClick verwendet werden soll

Antworten auf die Frage(2)

Ihre Antwort auf die Frage