O contexto quer FLAG_ACTIVITY_NEW_TASK, mas eu já defini esse sinalizador
Eu criei uma classe comum reutilizável para a empresa em que trabalho para criar alguns elementos de interface comuns.
A classe recebe um único parâmetro como na construção: um contexto de aplicativo.
um dos métodos,ContentClickableRowWithIcon
permite que você transmita uma intenção para ser usada como ação de clique.
Aqui está a declaração completa do método:
public LinearLayout ContentClickableRowWithIcon(Drawable icon, String title, Intent i, final Boolean chooser)
esse último atributo é usado no onClickEvent para determinar se deve invocar um Chooser ou se vai direto para a intenção.
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;
}
Como mencionado nos comentários, a qualquer momento eu não forneço a capacidade de usar um seletor, tudo funciona bem (tudo nesta lista recebe um novo sinalizador de atividade, estou bem ciente disso e irá limpar quando este problema for resolvido)
No momento em que faço, lança a exceção:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
Eu fiquei sem ideias ...
/// EDIT :: Worth noting, na depuração, o atributo flags na intenção é definido como268435456
com addFlags e268435456
com setFlags, quando chega a hora de usar a intenção na ação onClick