使用NFC(Near Field Communication)技术获取卡号的步骤如下:
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" android:required="true" />
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (nfcAdapter == null) {
// 设备不支持NFC
// 在这里处理设备不支持NFC的情况
}
@Override
protected void onResume() {
super.onResume();
IntentFilter intentFilter = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
try {
intentFilter.addDataType("text/plain");
IntentFilter[] intentFiltersArray = new IntentFilter[]{intentFilter};
nfcAdapter.enableForegroundDispatch(this, pendingIntent, intentFiltersArray, null);
} catch (IntentFilter.MalformedMimeTypeException e) {
e.printStackTrace();
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (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];
}
if (messages.length > 0) {
NdefRecord record = messages[0].getRecords()[0];
String cardNumber = new String(record.getPayload());
// 在这里处理获取到的卡号
}
}
}
}
以上步骤是使用NFC技术获取卡号的基本流程。你可以根据具体需求进行进一步的处理和功能扩展。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云