onActivityResult() appelée prématurément

Je commence le Activity (descendant de PreferenceActivity) de mon travailleur de l'activité comme suit:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1458)
        loadInfo();
}

void showSettingsDialog()
{
    startActivityForResult(new Intent().setClass(this, MyConfigure.class), 1458);
}

MyConfigure classe n'a PAS de setResult() appels. En fait, MyConfigure classe n'ont pas de code, sauf OnCreate() où il se charge en utilisant les préférences addPreferencesFromResource.

Maintenant onActivityResult est appelée avec requestCode de 1458 prématurément, juste après MyConfigure activité est exécutée. Testé sur 1.6 et 2.1 émulateurs ainsi que 2.1 de l'appareil. Est-il un appel à setResult() enterré quelque part dans PreferenceActivity? Ou sinon, comment cela peut-il prématuré d'appel être expliqué?

  • Une activité ne s'arrête pas sur setResults(), elle se termine sur finish(). Pouvez-vous montrer la méthode onCreate de votre MyConfigure activité?
  • Le droit, il ne l'est pas. Cependant, quelque chose n'a appel setResult() à l'avance et je me demande ce que c'est. Le code de onCreate est trivial: public class MyConfigure s'étend PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R. xml.préférences); } }
  • comment pensez-vous de savoir que setResult est appelé?
  • C'est exactement ce que j'ai créé le question pour. À savoir, pourquoi onActivityResult est appelé prématurément.
  • Quel est le logcat de sortie-dire autour de cette période? Plus précisément le "ActivityManager" de la balise, qui montre les Intentions sont appelés.
  • Est ce que quelqu'un d'autre rencontre ce problème lorsque les deux activités (celui qui lance et celui qui est en cours de lancement) sont singleTop? Je suis juste l'expérience et aura probablement besoin de coder en dur quelque chose dans la lancée de l'activité - alors laissez-moi savoir si quelqu'un a trouvé quelque solution de contournement (travail sur Android 4.2.2 sur la Nexus 7).