Kontekst chce FLAG_ACTIVITY_NEW_TASK, ale już ustawiłem tę flagę

Stworzyłem wspólną klasę wielokrotnego użytku dla firmy, dla której pracuję, aby utworzyć kilka wspólnych elementów interfejsu.

Klasa przyjmuje pojedynczy parametr, jak w konstrukcie: kontekst aplikacji.

jedna z metod,ContentClickableRowWithIcon pozwala przejść w zamierzeniu, które zostanie użyte jako akcja kliknięcia.

Oto deklaracja pełnej metody:

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

ten ostatni atrybut jest używany w zdarzeniu onClickEvent, aby określić, czy wywołać selektora, czy po prostu wejść w intencję.

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;
}

Jak wspomniano w komentarzach, za każdym razem, gdy nie zapewniam możliwości korzystania z selektora, wszystko działa dobrze (wszystko na tej liście otrzymuje nową flagę aktywności, dobrze o tym wiem i będzie czyszczone, gdy problem zostanie rozwiązany)

Moment, w którym to robię, powoduje wyjątek:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

Skończyły mi się pomysły ...

/// EDIT :: Warto zauważyć, że w debugowaniu atrybut flags w Intencie jest ustawiony na268435456 z addFlags i268435456 z setFlags, gdy osiągnie czas użycia intencji w akcji onClick

questionAnswers(2)

yourAnswerToTheQuestion