1) нужно больше информации по кейсу. Какие версии minSdkVersion, compileSdkVersion, время срабатывания должно быть точным или нет, какого вида работу оно должно делать, база локальная или нет.
2) в зависимости от его типа. Некоторые в манифесте, некоторые через код.
3) все верно. Можно почитать об ограничениях
4) без кода сложно что-то посоветовать.
5,6) если посмотреть, то там ниже написано "Added in API level 31".