...
Code Block |
---|
public class App extends Application { @Override public void onCreate() { super.onCreate(); RtPcscBridge.setAppContext(this); } } |
Режимы использования встраивания
Встраивание поддерживает два режима использования:
UI Tabs | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Ручной API встраивания
Для работы с устройствами Рутокен в Ручном режиме применяется интерфейс ru.rutoken.rttransport.RtTransport. Его инстанс можно получить с помощью метода RtPcscBridge.getTransport().
Рекомендуется следующий порядок вызова API:
Порядок | Метод | Описание | Место вызова |
---|---|---|---|
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.
Пример.
Инициализация библиотеки и включение автоматического режима внутри класса-наследника 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. |
Для отключения Автоматического режима применяется метод RtPcscBridge.getTransportExtension().detachFromLifecycle(app).
Если взаимодействие с устройством Рутокен осуществляется на протяжении всей работы приложения, то данный метод можно не применять.