2017-07-28 313 views
2

在NFC活动中编写onNewIntent(Intent intent)方法时,是否需要/正确地调用super.onNewIntent(intent)Android NFC和onNewIntent()

我问,因为这official example包括它:

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
    ... 
    if (intent != null && NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) { 
     Parcelable[] rawMessages = 
      intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); 
     if (rawMessages != null) { 
      NdefMessage[] messages = new NdefMessage[rawMessages.length]; 
      for (int i = 0; i < rawMessages.length; i++) { 
       messages[i] = (NdefMessage) rawMessages[i]; 
      } 
      // Process the messages array. 
      ... 
     } 
    } 
} 

但这other official example并不:

public void onNewIntent(Intent intent) { 
    Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); 
    //do something with tagFromIntent 
} 

据推测,第二个例子是不完整的(和不正确的),但我只是想确定。

回答

0

根据官方documentation没有理由拨打super.onNewIntent(..)

作为一个例子,你可以检查onDestroy()方法documentation。它包括下一行:

派生类必须调用这个方法的超类的实现 。如果他们不这样做,就会抛出异常。

+0

谢谢。调用它会有什么伤害吗? –

+0

@ ban-geoengineering没有。只有一行无用的代码。 –

+0

@ban如果这是解决您的问题,请批准答案。先谢谢了。 –