How to Understand Java API Usage for Contactless CPU Cards: Difference between revisions

From wizarPOS
(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'>
  CPUCard cpucard = ((CPUCard) rfCard);
   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();