from static method
Returns an instance for tag, or null when the tag does not hold NDEF.
Also null when the session set skipNdefCheck, which skips the probe that fills this
in; Ndef.uncheckedIos is the way through on iOS when that is deliberate.
Implementation
static Ndef? from(NfcTag tag) {
final android = tag.data.ndefAndroid;
if (android != null) {
return Ndef._(
tag.data.handle,
isWritable: android.isWritable,
maxSize: android.maxSize,
cachedMessage: android.cachedMessage == null ? null : ndefMessageFromWire(android.cachedMessage!),
);
}
final ios = tag.data.ndefIos;
if (ios != null) {
return Ndef._(
tag.data.handle,
// CoreNFC reports a status rather than a flag; only readWrite can be written.
isWritable: ios.status == NdefStatusPigeon.readWrite,
maxSize: ios.capacity,
cachedMessage: ios.cachedMessage == null ? null : ndefMessageFromWire(ios.cachedMessage!),
);
}
return null;
}