2016-07-12 57 views
0

Ich versuche, einen String-Wert in onActivityForResult() aus Intent-Wert zu erhalten.Android: Kann keine Daten von Absicht erhalten

Dies ist, wie ich die Absicht

geben
Intent intent = new Intent(); 
      intent.putExtra("state", getResources().getString(R.string.intent_skip_pin_setup)); 
      setResult(RESULT_OK, intent); 
      finish(); 

nun den "Zustand" Ich bin immer wie folgt:

intent_get.getStringExtra("state") 

aber ich bin immer null. Ist das, weil ich startActivity(intent) nicht verwende. Ich möchte nicht umleiten, da die gewünschte Ansicht im Hintergrund ist.

Dies ist, wie im Prüfung:

if (getIntent().getExtras().getString("state") != null) { 
     if ((getIntent().getExtras().getString("state").equals("save_pin_setup") || getIntent().getExtras().getString("state").equals("skip_pin_setup"))) { 
      doLaunchDashboard(); 
     } 
    } 

Gibt es eine Möglichkeit, Daten zu speichern und zu holen, wie wir Intent oder Bundle Sie verwenden .. da ich nicht die Aktivität fange, ich glaube nicht, dass ich sie verwenden kann (Absicht/Bündel).

+0

Können Sie mehr Code zur Verfügung stellen? Ich verstehe die Idee hinter diesem Szenario nicht. – Axxxon

+0

@ Adithya.K was Sie versuchen zu erreichen? onActivityForResult dient zum Übergeben von Daten von einer Aktivität an eine andere. Wenn Sie die von Ihnen erstellte Aktivität mit der Absicht nicht starten, wird sie nicht angezeigt. In diesem Fall verwenden Sie einen anderen Mechanismus, um das Datum zwischen den Aktivitäten zu teilen. Vielleicht wird Broadcast Ihren Bedürfnissen entsprechen. – Rafal

Antwort

0

Verwendung intent_get.getExtras().getString("state")

Aber vorher überprüfen, ob intent_get und intent_get.getExtras() nicht null ist. (Checks um Vorsatz Extras können ziemlich wild sein)

+0

Erhalte: FEHLER Absicht war NULL, App stürzt ab! –