Контекст хочет FLAG_ACTIVITY_NEW_TASK, но я уже установил этот флаг
Я создал общий класс многократного использования для компании, в которой я работаю, для создания некоторых общих элементов интерфейса.
Класс принимает один параметр, как в конструкции: контекст приложения.
один из методов,ContentClickableRowWithIcon
позволяет передать намерение, которое будет использоваться в качестве действия щелчка.
вот полное объявление метода:
public LinearLayout ContentClickableRowWithIcon(Drawable icon, String title, Intent i, final Boolean chooser)
последний атрибут там используется в onClickEvent, чтобы определить, следует ли вызывать Chooser или просто перейти прямо к цели.
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;
}
Как упоминалось в комментариях, в любое время, когда я не предоставляю возможность использовать средство выбора, все работает нормально (все в этом списке получает новый флаг активности, я хорошо знаю об этом и устраню при обнаружении этой проблемы)
В тот момент, я делаю, выдает исключение:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
У меня закончились идеи ...
/// EDIT :: Стоит отметить, что при отладке атрибут flags в Intent имеет значение268435456
с addFlags и268435456
с setFlags, когда наступает время использовать намерение в действии onClick