title: Android Status Bar Notifications - Intent getting the old extras on the second time
body: <p>When I create a notification that is sent through C2DM and received in my app I want to pass some of the data that came with the push notification from C2DM in the intent extras. This works fine the first time I open my notification. Then the data is received with onNewIntent or in onCreate depending on the state of the activity. </p>
  
  <p>But if I send a second push notification through C2DM it is received correctly with the new data but when getting the extras from the intent I still get the data from the previous message. The title and the data I want to see is shown correctly in the notification. So something must be wrong the my intent. This happens if the activity is running and if it isn't.</p>
  
  <p>To create the notification I do the following:</p>
  
  <pre><code>NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
  Notification notification = new Notification(R.drawable.ic_stat_notify_push, "Message received", System.currentTimeMillis());
  notification.flags |= Notification.FLAG_AUTO_CANCEL;
  notification.sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
  notification.defaults |= Notification.DEFAULT_LIGHTS;
  Intent intent = new Intent(context, DesktopApp.class);
  intent.setAction("android.intent.action.MAIN");
  intent.addCategory("android.intent.category.LAUNCHER");
  intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
  intent.putExtra("msg_id", msg_id);
  intent.putExtra("title", title);
  PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
  notification.setLatestEventInfo(context, "New message", title + String.valueOf(msg_id), pendingIntent);
  notificationManager.notify(0, notification);
  </code></pre>
  
  <p>To then read the intents:</p>
  
  <pre><code>public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      Intent myIntent = getIntent(); // this is just for example purpose
      int i = myIntent.getIntExtra("msg_id", -1);
      if (i != -1) Toast.makeText(this, "Got message! " + String.valueOf(i), Toast.LENGTH_LONG).show();
  }
  
  
  @Override
  public void onNewIntent(Intent intent){
      super.onNewIntent(intent);
      Bundle extras = intent.getExtras();
      if (extras != null) {
          int i = extras.getInt("msg_id", -1);
          if (i != -1) Toast.makeText(this, "Got message! " + String.valueOf(i), Toast.LENGTH_LONG).show();
      }
  }
  </code></pre>
  
  <p>Any suggestions?</p>