Общая информация
Эта статья описывает интеграцию устройств Рутокен Описание интеграции устройств Рутокен в мобильные приложения для платформы Android без использования приложения "Панель управления Рутокен" .
Поддерживаемые версии Android
Android 7.0 (API Level 24) и выше.
Настройка зависимостей в проекте
Для встраивания необходимо добавить в зависимости библиотеку rtpcscbridge:
...
title | Gradle (Groovy DSL) |
---|
Code Block |
---|
implementation 'ru.rutoken.rtpcscbridge:rtpcscbridge:1.0.0' |
...
title | Gradle (Kotlin DSL) |
---|
Code Block |
---|
implementation("ru.rutoken.rtpcscbridge:rtpcscbridge:1.0.0") |
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 Tab | ||
---|---|---|
| ||
В данном режиме осуществляется явный вызов методов инициализации и финализации встраивания, а также управление считыванием устройств Рутокен с NFC. Это обеспечивает полный контроль над поведением библиотеки со стороны приложения, например, при необходимости активации встраивания только для некоторых Activity приложения. |
UI Tab | ||
---|---|---|
| ||
В данном режиме методы ручного API вызываются автоматически на определенных этапах жизненного цикла приложения. Библиотека позволяет опционально включить автоматическую обработку NFC-устройств Рутокен для всех Activity, реализующих OnNewIntentProvider. Остальные устройства Рутокен обрабатываются во всех Activity приложения. |
располагается на https://github.com/AktivCo/android-standalone-scheme-docs.
Пример приложения, которое демонстрирует работу такой интеграции https://github.com/AktivCo/rutoken-tech-android
Ручной API
Для работы с библиотекой в Ручном режиме используется интерфейс ru.rutoken.rttransport.RtTransport. Его инстанс можно получить с помощью метода RtPcscBridge.getTransport().
Рекомендуется следующий порядок вызова API:
...
Порядок
вызова
...
Метод
...
Описание
...
Место вызова
...
Рекомендуется:
- в методе Activity.onStart;
- в методе Service.onCreate – в случае использования внутри сервиса.
...
ТОЛЬКО из Main потока в методе Activity.onResume.
...
При получении каждого NFC интента.
Например.
внутри Activity.onNewIntent
...
Рекомендуется:
...