Родной скрипт как делать http запросы в фоновом режиме
Привет, как я хотел бы иметь возможность запускать некоторый код, когда приложение закрыто (для закрытых я имею в виду закрыты диспетчером задач). мое приложение должно иметь возможность отправлять http-запросы через axios в фоновом режиме как на Android, так и на iOS (необходимо отправлять уведомления с помощью плагина local-messages, который напоминает, что одно или несколько событий во внешнем календаре начнутся через час), я искал в Сеть и я видел документацию, но не ясно, как я должен делать, я также читал, что способ запуска фонового кода на Android 8 радикально меняется. Может кто-нибудь объяснить мне, что я должен делать? какие разрешения я должен запросить у системы? или если есть какой-либо пример кода в сети.
2 ответа
Вот примеры реализации фоновых сервисов для iOS и Android.
Существует также плагин https://github.com/transistorsoft/nativescript-background-fetch, который может работать для вас.
tns plugin add nativescript-background-fetch
Вызывает функцию обратного вызова примерно каждые 15 минут, пока приложение не работает, поэтому вы можете завершить свои фоновые действия, такие как загрузка контента и т. Д.,
Хорошо, вы должны использовать сервис в Android. Это простой класс, который делает это в фоновом режиме, и после того, как вы закончите, вы можете остановить сервис. Он работает для Android до 26 API.(26 не включены)
https://developer.android.com/guide/components/services
для 26 и выше вы можете использовать Менеджеры, уже есть downloadManager:
https://developer.android.com/reference/android/app/DownloadManager
Вам не нужно его использовать, вы также можете сделать свое в планировщике заданий (над леденцом на палочке)
Здесь есть хороший урок:
https://android.jlelse.eu/schedule-tasks-and-jobs-intelligently-in-android-e0b0d9201777
Использование фоновых служб Android в NativeScript:
https://www.nativescript.org/blog/using-android-background-services-in-nativescript