How to Understand Java API Usage for Contactless CPU Cards: Difference between revisions
(Created page with "* Get RFCardReaderDevice <syntaxhighlight lang="java" line='line'> device = (RFCardReaderDevice) POSTerminal.getInstance(mContext).getDevice(POSTerminal.DEVICE_NAME_RF_CARD_...") |
No edit summary |
||
Line 23: | Line 23: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* Communicate with Card | * Communicate with Card | ||
<syntaxhighlight lang="java" line='line'> | <syntaxhighlight lang="java" line='line'> | ||
if (rfCard instanceof CPUCard) { | if (rfCard instanceof CPUCard) { | ||
CPUCard cpucard = ((CPUCard) rfCard); | |||
ATR atr = cpucard .connect(); | ATR atr = cpucard .connect(); | ||
result = cpucard .transmit(arryAPDU, 0); | result = cpucard .transmit(arryAPDU, 0); |
Revision as of 01:30, 27 April 2021
- Get RFCardReaderDevice
device = (RFCardReaderDevice) POSTerminal.getInstance(mContext).getDevice(POSTerminal.DEVICE_NAME_RF_CARD_READER);
- Open device
device.open();
- Search Card
OperationListener listener = new OperationListener() {
@Override
public void handleResult(OperationResult arg0) {
if (arg0.getResultCode() == OperationResult.SUCCESS) {
sendSuccessLog2(mContext.getString(R.string.find_card_succeed));
rfCard = ((RFCardReaderOperationResult) arg0).getCard();
} else {
sendFailedLog2(mContext.getString(R.string.find_card_failed));
}
}
};
device.listenForCardPresent(listener, TimeConstants.FOREVER); The result will be returned in the callback listener.
- Communicate with Card
if (rfCard instanceof CPUCard) {
CPUCard cpucard = ((CPUCard) rfCard);
ATR atr = cpucard .connect();
result = cpucard .transmit(arryAPDU, 0);
cpucard .disconnect();
}
- Close device
device.close();