上下文需要FLAG_ACTIVITY_NEW_TASK标志,但我已经设置了标志

时间:2016-06-08 11:13:05

标签: java android android-intent

我正在尝试使用来自外部活动上下文的Intent启动电子邮件应用程序,我已经设置了标记。

有什么建议吗?

            public void onSwipeLeft() {
            Intent i = new Intent(Intent.ACTION_SEND);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            try {
                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                i.setType("message/rfc822");
                i.putExtra(Intent.EXTRA_EMAIL, new String[]{addressList[position]});
                aContext.startActivity(Intent.createChooser(i, "Send mail..."));
            } catch (android.content.ActivityNotFoundException ex) 

            }
        }

这是错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

Intent.createChooser(i, "Send mail...")会返回新的意图,而非原始的i

Intent.createChooser(i, "Send mail...")

返回的意图上设置标记
   Intent intent = Intent.createChooser(i, "Send mail...");
   intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   aContext.startActivity(intent);

有关此问题的详细信息:Context wants FLAG_ACTIVITY_NEW_TASK but I've already set that flag