2016-06-08 29 views
-1

我试图从外部活动上下文中使用Intent启动电子邮件应用程序,并且我已经设置了该标志。上下文需要FLAG_ACTIVITY_NEW_TASK标志,但我已经设置了标志

有什么建议吗?

  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

+0

上下文的背景下= MyApplication.this.getApplicationContext(); –

+0

尝试设置标志后额外? (顺便提一下,你为什么要设置两次国旗?) –

+0

请将您的错误文字而不是图像 – ppperry

回答

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

+0

这是工作。感谢您的帮助@Adomas –

+0

很高兴帮助! :) – Adomas

相关问题