Tengo una aplicación que es SingleTask y puedo escuchar el esquema 'testing'.Android onNewIntent desde el iniciador de aplicaciones me da el último intento
Si hago clic en el botón (véase el código) que relanzar mí y onNewIntent se llama darme la intención de 'prueba' (Ahora yo podría reaccionar a esta empujando un fragmento)
Ahora Si presiono casa y luego abrir el iniciador de aplicaciones y volver a ingresar a mi aplicación Me gustaría que se llamara onNewIntent pero con una intención vacía, porque no quiero volver a hacer mis acciones (por ejemplo, empujar fragmentos). Pero onNewIntent me está dando el último intento que se utilizó para iniciar mi actividad, que es el intento de "prueba".
¿Qué debo hacer para evitar empujar el mismo fragmento? ¿Hay una buena manera sin usar mis propios identificadores?
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())));
}
}