在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.
...
}
}
}但是这个other official example没有:
public void onNewIntent(Intent intent) {
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
//do something with tagFromIntent
}想必,第二个例子是不完整的(也是不正确的),但我只是想确认一下。
发布于 2017-07-28 21:20:15
根据官方documentation,没有理由调用super.onNewIntent(..)。
例如,您可以查看onDestroy()方法documentation。它包含下一行:
派生类必须调用此方法的超类实现。如果不这样做,将抛出异常。
https://stackoverflow.com/questions/45374458
复制相似问题