2016-06-08 3 views
-1

Ich versuche, E-Mail-Anwendung mit Intent von außerhalb Aktivitätskontext zu starten, und ich habe bereits die Flagge gesetzt.Kontext erfordert das Flag FLAG_ACTIVITY_NEW_TASK, aber ich habe bereits gesetzt Flag

Irgendwelche Vorschläge?

  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) 

      } 
     } 

hier Fehler:

enter image description here

+0

Context context = MyApplication.this.getApplicationContext(); –

+0

Versuchen Sie, die Flagge zu setzen, nachdem Sie das Extra gelegt haben? (Warum stellst du die Flagge übrigens zweimal auf?) –

+0

Bitte poste deinen Fehler im Text anstatt in den Bildern – ppperry

Antwort

0

Intent.createChooser(i, "Send mail...") eine neue Absicht zurückgibt, nicht Ihre ursprüngliche i.

die Flagge auf der von Intent.createChooser(i, "Send mail...")

Intent intent = Intent.createChooser(i, "Send mail..."); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    aContext.startActivity(intent); 

Mehr Informationen zu diesem Thema zurück Absicht Set: Context wants FLAG_ACTIVITY_NEW_TASK but I've already set that flag

+0

Es ist Arbeit. Danke für Ihre Hilfe @Domains –

+0

Froh, zu helfen! :) – Adomas