2012-02-09 9 views
6

Mam aplikację, która jest SingleTask i jest w stanie odsłuchać schemat "testowania".Android onNewIntent z programu uruchamiającego aplikacje daje mi ostatni zamiar

Gdybym kliknij przycisk (patrz kod) I ożywienia siebie i onNewIntent nazywa dając mi „testowania” intencję (Teraz mogę zareagować na to, popychając fragment)

Teraz Jeśli pędzę do domu, a następnie otwórz program uruchamiający aplikację i ponownie wprowadź moją aplikację Chciałbym, żeby nazywać się NewNentent, ale z pustym intencją, ponieważ nie chcę ponownie wykonywać moich działań (na przykład przesuwając fragmenty). Ale na NewCentent daje mi ostatnią intencję, która została wykorzystana do uruchomienia mojej działalności, co jest intencją "testowania".

Co należy zrobić, aby zapobiec popychaniu tego samego fragmentu? Czy jest dobry sposób bez używania własnych identyfikatorów?

public class OnNewIntentTestActivity extends Activity { 
/** Called when the activity is first created. */ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Log.e("", "on create"); 

    ((Button) findViewById(R.id.button1)).setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Log.e("", "Relaunch activity"); 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("testing://hello"))); 

     } 
    }); 
} 

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 

    Log.e("", "onNewIntent: " + (intent == null? "none" : (intent.getAction() + ":" + intent.getData()))); 
} 
} 

Odpowiedz

0

setIntent (null); po uzyskaniu potrzebnych danych onNewIntent

Powiązane problemy