title: Android "single top" launch mode and onNewIntent method
body: <p>I read in the Android documentation that by setting my Activity's launchMode property to singleTop OR by adding the <code>FLAG_ACTIVITY_SINGLE_TOP</code> flag to my Intent, that calling <code>startActivity(intent)</code> would reuse a single Activity instance and give me the Intent in the <code>onNewIntent</code> callback.  I did both of these things, and <code>onNewIntent</code> never fires and <code>onCreate</code> fires every time.  The docs also say that <code>this.getIntent()</code> returns the intent that was first passed to the Activity when it was first created.  In <code>onCreate</code> I'm calling <code>getIntent</code> and I'm getting a new one every time (I'm creating the intent object in another activity and adding an extra to it...this extra should be the same every time if it was returning me the same intent object).  All this leads me to believe that my activity is not acting like a "single top", and I don't understand why.</p>
  
  <p>To add some background in case I'm simply missing a required step, here's my Activity declaration in the manifest and the code I'm using to launch the activity.  The Activity itself doesn't do anything worth mentioning in regards to this:</p>
  
  <p>in AndroidManifest.xml:</p>
  
  <pre><code>    &lt;activity
          android:name=".ArtistActivity"
          android:label="Artist"
          android:launchMode="singleTop"&gt;
      &lt;/activity&gt;     
  </code></pre>
  
  <p>in my calling Activity:</p>
  
  <pre><code>        Intent i = new Intent();
          i.putExtra(EXTRA_KEY_ARTIST, id);
          i.setClass(this, ArtistActivity.class);
          i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
          startActivity(i);
  </code></pre>