Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tip

Библиотека доступна в репозитории Maven Central.

Инициализация библиотеки

Точкой входа встраивания является класс ru.rutoken.rtpcscbridge.RtPcscBridge, который необходим для инициализации библиотеки rtpcscbridge.

Для каждого процесса приложения, в котором происходит взаимодействие с устройствами Рутокен, необходимо вызвать статический метод setAppContext и передать ему в качестве параметра Android application context.

Типичное место вызова метода – внутри onCreate() класса-наследника Application.

Code Block
public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        RtPcscBridge.setAppContext(this);
    }
}

Режимы работы библиотеки

С библиотекой можно работать в двух режимах:

UI Tabs
UI Tab
titleРучной режим

В данном режиме осуществляется явный вызов методов инициализации и финализации встраивания, а также управление считыванием устройств Рутокен с NFC.

Это обеспечивает полный контроль над поведением библиотеки со стороны приложения, например, при необходимости активации встраивания только для некоторых Activity приложения.

UI Tab
titleАвтоматический режим

В данном режиме методы ручного API вызываются автоматически на определенных этапах жизненного цикла приложения.

Библиотека позволяет опционально включить автоматическую обработку NFC-устройств Рутокен для всех Activity, реализующих OnNewIntentProvider.

Остальные устройства Рутокен обрабатываются во всех Activity приложения.


Ручной API

Для работы с библиотекой в Ручном режиме используется интерфейс ru.rutoken.rttransport.RtTransport. Его инстанс можно получить с помощью метода RtPcscBridge.getTransport().

Рекомендуется  следующий порядок вызова API:

Порядок
вызова

Метод

Описание

Место вызова

1RtTransport.initialize(context)Инициализирует встраивание.
Библиотека начинает отслеживать подключение и отключение устройств Рутокен (кроме подключений по NFC) и позволяет настроить дальнейшую работу с NFC

Рекомендуется:

  • в методе Activity.onStart;
  • в методе Service.onCreate – в случае использования внутри сервиса.
2RtTransport.enableNfcForegroundDispatch(activity)Включает NFC foreground dispatching для данной Activity

ТОЛЬКО из Main потока в методе Activity.onResume.

3RtTransport.handleNfcIntent(intent)Обрабатывает NFC интент, полученный при прикладывании устройств Рутокен.
Интенты от устройств других производителей не обрабатываются.
Применяется для дальнейшей установки соединения с Рутокен

При получении каждого NFC интента.

Например.
внутри Activity.onNewIntent

4RtTransport.disableNfcForegroundDispatch(activity)Выключает NFC foreground dispatching для данной ActivityТОЛЬКО из Main потока в методе Activity.onPause
5RtTransport.finalize(context)Завершает работу встраивания

Рекомендуется:

  • в методе Activity.onStop;
  • в методе Service.onDestroy – в случае использования внутри сервиса.