Используйте ContentProvider для запуска кода при запуске приложения - PullRequest
0 голосов
/ 14 марта 2020

Я делаю библиотеку android и хочу запустить некоторый код инициализации при запуске приложения.

В некоторых случаях разработчику (с использованием моей библиотеки) может быть немного сложно реализовать пользовательский класс приложения. AFAIK, ContenProvider коды запускаются до запуска приложения и не требуют какой-либо пользовательской реализации, выполненной разработчиком с использованием моей библиотеки.

Вопрос в том, Могу ли я использовать ContentProvider для запуска кода при запуске приложения ?

Я просто создаю класс провайдера:

class ExampleProvider : ContentProvider() {

    override fun onCreate(): Boolean {

        // run code at startup and do initialization

        return true
    }

    ...

    // Ignore other methods and return null or 0
}

и добавляю тег манифеста.

И он запустится до запуска приложения. ( Без использования класса Custom Application ) Но будет ли он всегда вести себя так и запускать код до запуска приложения? Есть ли случаи, когда ContentProviders не запускается при запуске приложения?


TL; DR

Как библиотека android может выполнять код при запуске приложения, не обращаясь к разработчикам с просьбой реализовать собственный класс Application?

...