Аутентификация вызовов API, выполненных из фонового сервиса на Android, с помощью API Guard
Фон
У нас есть фоновый IntentService, который запускается независимо от того, открыто приложение или закрыто. (onStartCommand
возвращается Service.START_STICKY
). API Guard используется для проверки подлинности любых вызовов API.
проблема
Вызовы API из приложения и фоновой службы работают нормально, если приложение открыто. Однако когда приложение закрыто, вызовы, сделанные из фоновой службы, не проходят проверку подлинности API Guard. Причина в том, что в фоновом режиме нет Activity, которая требуется для API Guard SDK.
Кажется странным, что SDK потребует Activity, поскольку фоновая служба, скорее всего, не будет иметь пользовательского интерфейса.
Что я пробовал
- добавленной
APIGuard.getInstance().reauthenticate();
внутриonCreate()
метод фонового класса обслуживания. Это не сработало. - Добавил Activity в реализацию фонового сервиса, но это не вариант, так как действие захватывает фокус у сервиса, чего у нас не может быть.
Вопрос
Кто-нибудь работал с чем-то подобным на Android раньше? Опять же, я должен думать, что у API Guard есть способ справиться с этим сценарием.