Открытый мобильный API с Android 21+

Я уже некоторое время использую Open Mobile API и нацеливаюсь на версию для Android API 19 (загружается из Android SDK manager, добавив ссылку на него http://seek-for-android.googlecode.com/svn/trunk/repository/19/addon.xml), но я не могу найти версии выше 19. Они вообще существуют или я просто плохо искал?

2 ответа

Вы можете найти последнюю версию Open Mobile API на GitHub: https://github.com/seek-for-android/

Кажется, больше нет доступной специализированной интеграции SDK. Однако при просмотре приложений, использующих OMAPI, типичным способом интеграции его в приложения, по-видимому, является непосредственная интеграция библиотеки (или даже прямое включение исходных файлов OMAPI) вместо ссылки на версию библиотеки, которая поставляется с устройства, реализующие API. Таким образом, вы можете легко использовать любой уровень API, какой захотите.

Для последней версии вы можете найти эти файлы здесь: https://github.com/seek-for-android/platform_packages_apps_SmartCardService/tree/android-5.0.0_r3-scapi/openmobileapi

API должен быть обратно совместимым, поэтому, если вы интегрируете последнюю версию, вы также сможете получить доступ к более старым реализациям (хотя будет доступен только ограниченный набор функций).

Обновление 2015-09-23:

Доступна интеграция с SDK. Это описано в SEEK Wiki: Использование Smart Card API.

На сегодняшний день для SDK доступны дополнения для интеграции

Все обновления в этом списке должны быть отражены в репозитории seek-for-android.github.io на GitHub.

Начиная с Android P, Open Mobile API является частью платформы Android. Поэтому предыдущие ответы устарели для более новых устройств.

См. https://developer.android.com/reference/android/se/omapi/package-summary для деталей и обратите внимание, что есть некоторые незначительные изменения по сравнению со старыми версиями. Особенно:

  • Разное пространство имен (android.se.omapi).
  • Добавление поддержки Transaction Event.
  • Изменения в SEService Listener, который должен реализовывать интерфейс onConnectedListener
  • Нет поддержки для обратного вызова Reader Event.
  • Класс канала расширяет java.nio.channels.Channel. Это подразумевает новый метод isOpen(), который заменяет метод isClosed().
  • Нет поддержки для setTransmitBehaviour()
Другие вопросы по тегам