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

From wizarPOS
No edit summary
(Replaced content with "{{Migrating|https://smartpossdk.gitbook.io/cloudpossdk/faq/card/use-felica-card}}")
Tag: Replaced
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
== Overview ==
{{Migrating|https://smartpossdk.gitbook.io/cloudpossdk/faq/card/use-felica-card}}
This section outlines the procedure for using Java API to interact with Felica cards, which differ from standard contactless CPU cards.
== Steps for Java API Usage with Felica Cards ==
* '''Get RFCardReaderDevice:'''
Initialize by obtaining an instance of the RFCardReaderDevice. This is the first step in establishing communication with the Felica card reader.
<syntaxhighlight lang="java" line='line'>
  device = (RFCardReaderDevice) POSTerminal.getInstance(mContext).getDevice(POSTerminal.DEVICE_NAME_RF_CARD_READER);
</syntaxhighlight>
* '''Open Device:'''
Execute the command to open the card reader device. This action establishes a connection between your Java application and the card reader.
<syntaxhighlight lang="java" line='line'>
  device.open();
</syntaxhighlight>
* '''Search for Card:'''
Conduct a search operation to detect the Felica card within the reader's range.
<syntaxhighlight lang="java" line='line'>
  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.
</syntaxhighlight>
* '''Communicate with the Card:'''
Once the Felica card is identified, proceed to communicate with it.
<syntaxhighlight lang="java" line='line'>
  if (rfCard instanceof FelicaCard) {
    result = ((FelicaCard) rfCard).transmit(arryAPDU, 0);
  }
</syntaxhighlight>
* '''Note on APDU Commands for Felica Cards:'''
** Felica cards use a unique APDU command structure. Typically, this includes N (2 bytes in little-endian format), CmdID (1 byte), followed by data.
** Refer to the specific customer specifications for detailed information regarding the APDU commands for Felica cards.
* '''Close Device:'''
Conclude the session by closing the device. This step is essential for security and proper device management.
<syntaxhighlight lang="java" line='line'>
  device.close();
</syntaxhighlight>
== Important Considerations ==
* The communication process with Felica cards requires adherence to their specific APDU command structure.
* Developers should consult detailed customer specifications for precise command formats and data handling.

Latest revision as of 09:20, 7 April 2024

Please visit new link of same subject:

https://smartpossdk.gitbook.io/cloudpossdk/faq/card/use-felica-card

We're making a move! Our site's content is migrating to a new URL, to provide you with an enhanced browsing experience. Please update your bookmarks accordingly. Thank you for your continuous support!