Xamarin C# wrapper for ACS Smartcard USB library for Android
Switch branches/tags
Nothing to show
Clone or download
Failed to load latest commit information.
acs.Demo First commit Jul 2, 2018
acs.library First commit Jul 2, 2018
.gitattributes First commit Jul 2, 2018
.gitignore First commit Jul 2, 2018
LICENSE.txt First commit Jul 2, 2018
README.md Updated readme to reference sample project Jul 2, 2018
acs.sln First commit Jul 2, 2018


Xamarin Wrapper for ACS Library

This is the Xamarin Android binding for ACS's USB library for Android. This library allows Android developers to directly work with ACS Readers connected via USB. Also included is a Xamarin C# port of the sample Java application that comes with the library. This library provides low level access to ACS RFID card readers. The developer will be responsible for communicating with the ACS reader and requesting data from it.

The .jar file that the library is compiled with is included in the repository. It is part of an API kit that should be downloaded from https://www.acs.com.hk/en/mobile-support/. The API kit includes the API documentation in HTML format.


The solution contains two projects

  • acs.library - A Binding library for the ACS jar file. The version used was 1.1.3
  • acs.Demo - A C# port of the original demo

Getting started

Getting Started

1. Reference the library to your project

2. Get a reference to the USB System Service

mManager = (UsbManager)GetSystemService(Context.UsbService);

3. Register a BroadcastReceiver to get USB Permission and connection messages

mPermissionIntent = PendingIntent.GetBroadcast(this, 0, new Intent(
IntentFilter filter = new IntentFilter();

mReceiver = new MyBroadcastReceiver();

RegisterReceiver(mReceiver, filter);

4. Refer to MainActivity.cs in the example app to see how to connect to a ACS RFID reader and read data from it.

Compatible Devices

Additional information

This library provides the low level access to an ACS RFID reader. It does not provide any code for sending commands to the reader or parsing data from the reader. The ACS readers follow the SmartCard protocols. You would need to know to create and parse APDU data packets. It is also expected that you would use and follow the ACS API documentation

Author, License, and Copyright

This library is licensed under LGPL Version 2.1. Please see LICENSE.txt for the complete license.

Copyright 2018, Tyler Technologies. All Rights Reserved. Portions of this library are based on ACS intellectual property. Their rights remain intact.