1

I've been using Open Mobile API for sometime now, and I'm targeting the version for Android API 19 (downloaded from Android SDK manager by adding the link to it http://seek-for-android.googlecode.com/svn/trunk/repository/19/addon.xml), but I can't find versions above 19. Do they even exist or I just didn't search well?

Michael Roland
  • 39,663
  • 10
  • 99
  • 206
TootsieRockNRoll
  • 3,218
  • 2
  • 25
  • 50

2 Answers2

2

You can find the latest version of the Open Mobile API on GitHub: https://github.com/seek-for-android/

There no longer seems to be a dedicated SDK integration available. However, when looking into apps that use the OMAPI, the typical way of integrating it into applications seems to be to directly integrate the library (or even directly include the OMAPI source files) instead of linking to the version of the library that is shipped with devices implementing the API. That way, you can easily tarket whatever API level you want.

For the latest version, you can find these files here: https://github.com/seek-for-android/platform_packages_apps_SmartCardService/tree/android-5.0.0_r3-scapi/openmobileapi

The API should be backward compatible, so if you integrate the latest version you should be able to access older implementations too (though only a limited set of functionality would be available).

Update on 2015-09-23:

There still is an SDK integration available. It is described in the SEEK Wiki: Using Smart Card API.

As of today, there are SDK integration add-ons available for

All updates to this list should be reflected in the seek-for-android.github.io repository on GitHub.

Michael Roland
  • 39,663
  • 10
  • 99
  • 206
1

From Android P, the Open Mobile API is part of the Android framework. The previous answers are therefore obsolete for newer devices.

See https://developer.android.com/reference/android/se/omapi/package-summary for details, and note that there are some minor changes compared to older versions. In particular:

  • Different namespace (android.se.omapi).
  • Addition of Transaction Event support.
  • Changes to SEService Listener, which must implement the onConnectedListener interface
  • No support for Reader Event callback.
  • Channel class extends java.nio.channels.Channel. This implies a new methood, isOpen() which replaces the isClosed() method.
  • No support for setTransmitBehaviour()