在NFC活动中编写onNewIntent(Intent intent)
方法时,是否需要致电super.onNewIntent(intent)
?
我问,因为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.
...
}
}
}
public void onNewIntent(Intent intent) {
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
//do something with tagFromIntent
}
据推测,第二个例子是不完整的(并且不正确),但我想确定。
答案 0 :(得分:0)
根据官方here,我没有理由致电super.onNewIntent(..)
。
例如,您可以检查onDestroy()
方法documentation。它包括下一行:
派生类必须调用超类的实现 这种方法。如果他们不这样做,将抛出异常。