В некоторых условиях моего приложения запускается, позвонив по одному из моих Broadcast-Receivers
или Services
(и т.д.), , но я хочу, чтобы предотвратить компонент, который используется для намерения для начала.Stop намерения от неоспоримого выполнено - в заявке подклассе
Почему: Потому что мне нужно сделать некоторые предварительные инициализации работы бегут, прежде чем любой компонент должен начать. Но эта работа может бытьдолго работает вещь, поэтому я может не только выполнять это внутри моего приложения подкласса в главном потоке.
Я подклассифицирую Application
в своем приложении. Поэтому мой подход был бы , чтобы каким-то образом помешать намерению в моем подклассе приложения onCreate()
и вместо этого запустит конкретную мою службу, которая запускает предыдущую инициализацию и повторно вызывает намерение, которое было намеренно использовано после этого.
Можете ли вы поместить изображение, возможно, сделать это? Спасибо!
Пс .: У меня много компонентов, которые могли бы начать мое приложение. Я не хочу включать код состояния внутри каждого компонента.
Сад. Интересно, как я должен выполнять длительные миграции или внутренние «обновления данных приложений» (например, данные sql-данных), прежде чем что-нибудь еще начнется. Я боюсь, что нет другого способа подкласса всех моих компонентов и позволить им наследовать проверки инициализации. – JacksOnF1re
@ JacksOnF1re: Вы делаете эту работу раньше. Например, предположим, что вы отправляете обновление приложения со значительным изменением схемы, которое потребует времени для завершения. Вы начинаете эту работу сразу после установки обновления.В частности, для пользователей, которые выбирают автоматические обновления, работа, скорее всего, будет завершена задолго до того, как вы активируете действие приложения. Вам не нужно подклассифицировать что-либо новое, поскольку у вас уже есть эти классы. Логика инициализации может находиться в отдельном классе утилиты, а не в классе базовых компонентов. – CommonsWare