title: Pending intent always make new activity
body: <p>i trying to make app with nfc function. the problem is when nfc tag discovered, pending intent always make a new activity that already exist. i'm using tab host.
  how to make pendingintent without making a new activity.
  thanks a lot.</p>
  
  <pre><code> public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);        
  
              mNfcAdapter = NfcAdapter.getDefaultAdapter(this);                              
              mNfcPendingIntent = PendingIntent.getActivity(this, 0,new Intent(this,
      getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
      }
  
      protected void onResume() {    
              super.onResume();
              mResumed = true;               
              // Sticky notes received from Android
              if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {            
                  NdefMessage[] messages = getNdefMessages(getIntent());
                  byte[] payload = messages[0].getRecords()[0].getPayload();            
                  try     { cekNfc(new String(payload)); }
                  catch (SQLException e)          { e.printStackTrace(); } 
                  catch (NoSuchAlgorithmException e)      {  e.printStackTrace(); }
                  catch (UnsupportedEncodingException e)  { e.printStackTrace(); }
  
                  setIntent(new Intent());
              }
              enableNdefExchangeMode();        
          }   
          private void enableNdefExchangeMode() { mNfcAdapter.enableForegroundDispatch(this, mNfcPendingIntent, mNdefExchangeFilters, null); } 
  
      NdefMessage[] getNdefMessages(Intent intent) {  // Parse the intent             
              NdefMessage[] msgs = null;        
              String action = intent.getAction();
              //jika ada action
              if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {                      
                  Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
                  if (rawMsgs != null) {
                      msgs = new NdefMessage[rawMsgs.length];
                      for (int i = 0; i &lt; rawMsgs.length; i++) {  msgs[i] = (NdefMessage) rawMsgs[i]; }
                  }
              } 
              return msgs;
          }
  
  
   public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);        
  
              mNfcAdapter = NfcAdapter.getDefaultAdapter(this);                              
              mNfcPendingIntent = PendingIntent.getActivity(this, 0,new Intent(this,
      getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
      }
  
      protected void onResume() {    
              super.onResume();
              mResumed = true;               
              // Sticky notes received from Android
              if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {            
                  NdefMessage[] messages = getNdefMessages(getIntent());
                  byte[] payload = messages[0].getRecords()[0].getPayload();            
                  try     { cekNfc(new String(payload)); }
                  catch (SQLException e)          { e.printStackTrace(); } 
                  catch (NoSuchAlgorithmException e)      {  e.printStackTrace(); }
                  catch (UnsupportedEncodingException e)  { e.printStackTrace(); }
  
                  setIntent(new Intent());
              }
              enableNdefExchangeMode();        
          }   
          private void enableNdefExchangeMode() { mNfcAdapter.enableForegroundDispatch(this, mNfcPendingIntent, mNdefExchangeFilters, null); } 
  
      NdefMessage[] getNdefMessages(Intent intent) {  // Parse the intent             
              NdefMessage[] msgs = null;        
              String action = intent.getAction();
              //jika ada action
              if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {                      
                  Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
                  if (rawMsgs != null) {
                      msgs = new NdefMessage[rawMsgs.length];
                      for (int i = 0; i &lt; rawMsgs.length; i++) {  msgs[i] = (NdefMessage) rawMsgs[i]; }
                  }
              } 
              return msgs;
          }
  </code></pre>