# RFID Connect

Connects to a RFID device.

Action available for the following operating systems:

![](/files/-MRyMmurYkr5sJQek1Ij)

### Parameters

* **DeviceType** - The type of RFID device to use. it can be one of:
  * **Internal API** - Uses the device manufacturers API to connect to an internal or external scanner.
  * **External API** - Uses an external Java library provided by you to interact with the barcode scanner
* **Jar File** *\<string> -* Defines the full path and name of the JAR or APK file that contains your barcode interface implementation.
* **Class Name** *\<string> -* Fully classified class name that contains the function to execute.\
  See Notes for more details.
* **User Parameters** *\<string> -* String expression with any value that we will pass in the call to the **Method Name**.

{% hint style="info" %}
**Internal API**s supported in Android.

* Cipherlab
* Unitech
* Honeywell (currently only IH25)
* M3
* Bluebird
* Chainway
* Urovo
  {% endhint %}

{% hint style="info" %}
**External API** option allows you to implement an interface with a RFID scanner SDK and use standard Kalipso **RFID...** actions to interact with it.

* You can find the android java library containing the interfaces in Designer folder under "Plugins\Android\libs"
* You should create a class that implements the **KExternalScannerAPI** interface. Then you pass in the path to the JAR/APK file you created and you must pass the name of the class that implements this interface. Kalipso will create an instance of this class, and any call to Kalipso **RFID...** actions will be translated into a call to the corresponding Interface method.
* The **KExternalEventsInterface** that you will receive in the Connect() call allow you to send barcode scan events and other additional events to Kalipso to **App Notifed** events in Kalipso forms and to register callbacks for some events to be sent to you from Kalipso. See **RunJar.**
* All RFID actions have a **User Parameter** available that you can use for your own specific implementations.
  {% endhint %}

{% hint style="info" %}
For Bluebird Bluetooth devices, during testing, it seems that after turning off the rfid device, after turning back on it only accepts a new connection after enabling discovery mode on the device.

This is not documented on the SDK documentation, it is only an observed behavior during testing.
{% endhint %}

{% hint style="info" %}
For Unitech, in **User Parameters** you can specify the device type.

Currently you can specify RP902, HT730 or RG768. If empty, for:

**Bluetooth** RP902 is assumed

**Internal** HT730 is assumed, unless running on a PA768 in which case RG768 is assumed.

HT730 and RG768 require the Unitech DMService to be installed on the device.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.sysdevmobile.com/kalipso5/developing/form/actions/actions-description/group-rfid/rfid-connect.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
