...
Порядок | Метод | Описание | Место вызова |
---|---|---|---|
1 | RtTransport.initialize(context) | Инициализирует встраивание. Библиотека начинает отслеживать подключение и отключение устройств Рутокен (кроме подключений по NFC) и позволяет настроить дальнейшую работу с NFC | Рекомендуется:
|
2 | RtTransport.enableNfcForegroundDispatch(activity) | Включает NFC foreground dispatching для данной Activity | ТОЛЬКО из Main потока в методе Activity.onResume. |
3 | RtTransport.handleNfcIntent(intent) | Обрабатывает NFC интент, полученный при прикладывании устройств Рутокен. Интенты от устройств других производителей не обрабатываются. Применяется для дальнейшей установки соединения с Рутокен | При получении каждого NFC интента. Например. |
4 | RtTransport.disableNfcForegroundDispatch(activity) | Выключает NFC foreground dispatching для данной Activity | ТОЛЬКО из Main потока в методе Activity.onPause |
5 | RtTransport.finalize(context) | Завершает работу встраивания | Рекомендуется:
|
Автоматический API
Для работы с библиотекой в Автоматическом режиме используется интерфейс ru.rutoken.rttransport.RtTransportExtension. Его инстанс можно получить из метода RtPcscBridge.getTransportExtension().
Для включения Автоматического режима необходимо вызвать метод attachToLifecycle. Рекомендуемое место вызова: в методе onCreate() внутри класса-наследника Application.
Пример.
Инициализация библиотеки и включение автоматического режима:
Code Block | ||
---|---|---|
| ||
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
RtPcscBridge.setAppContext(this);
RtPcscBridge.getTransportExtension().attachToLifecycle(this, true);
}
} |
В параметры метода attachToLifecycle дополнительно можно передать флаг useAutoNfcHandling для включения/выключения автоматической обработки устройств Рутокен с NFC.
По умолчанию значение флага – true.
Warning |
---|
Автоматическая обработка устройств Рутокен с NFC осуществляется только для тех Activity, которые реализуют OnNewIntentProvider. Если базовый класс Activity уже реализует интерфейс OnNewIntentProvider (как в случае с ComponentActivity), то явная реализация интерфейса не обязательна. |
Для отключения Автоматического режима применяется метод RtTransportExtension.detachFromLifecycle(app).
Если взаимодействие с устройством Рутокен осуществляется на протяжении всей работы приложения, то данный метод можно не применять.