testAllNfcFeatures static method
Example: Comprehensive NFC testing
Implementation
static Future<void> testAllNfcFeatures() async {
print('=== Testing All NFC Features ===');
// Check card presence
final isPresent = await PaxSdk.checkCardPresence();
print('Card present: $isPresent');
if (isPresent) {
// Detect card
final result = await PaxSdk.detectCard();
if (result['success']) {
final cardData = result['cardData'];
final manufacturerData = result['manufacturerData'];
print('\n=== Card Information ===');
print('UID: ${cardData['uid']}');
print('UID Length: ${cardData['uidLength']} bytes');
if (cardData['cardType'] != null) {
final cardType = cardData['cardType'];
print('Card Type: ${cardType['cardType']}');
print('Manufacturer: ${cardType['manufacturer']}');
print('First Byte: ${cardType['firstByte']}');
}
if (manufacturerData['block0Data'] != null) {
print('\n=== Manufacturer Block ===');
print('Block 0 Data: ${manufacturerData['block0Data']}');
if (manufacturerData['parsedData'] != null) {
final parsed = manufacturerData['parsedData'];
print('Embedded UID: ${parsed['embeddedUid']}');
print('BCC: ${parsed['bcc']}');
if (parsed['sak'] != null) {
print('SAK: ${parsed['sak']}');
}
if (parsed['atqa'] != null) {
print('ATQA: ${parsed['atqa']}');
}
}
}
if (manufacturerData['authResult'] != null) {
final authResult = manufacturerData['authResult'];
if (authResult['success']) {
print('\n=== Authentication Result ===');
print('Key Index: ${authResult['keyIndex']}');
print('Data: ${authResult['data']}');
}
}
} else {
print('Card detection failed: ${result['error']}');
}
} else {
print('No card present for testing');
}
// Test all detection modes
print('\n=== Testing All Detection Modes ===');
await PaxSdk.tryAllModes();
}