Подтвердить что ты не робот

Android 5.0 JobScheduler API в более ранних версиях?

Я создаю приложение для Android, которое использует явный широковещательный приемник, чтобы знать, когда устройство подключено. Я думаю, что Android 5.0 JobScheduler API будет намного лучшим способом сделать это, но у меня есть один вопрос: можно ли использовать этот API или аналогичный в более ранних версиях Android? Если это невозможно, что было бы лучшим вариантом для этого (вместо явного широковещательного приемника)?

4b9b3361

Ответ 1

Firebase JobDispatcher.

Это заменяет старую библиотеку GCM Network Manager.

Ответ 2

Другим вариантом является эта библиотека: https://github.com/evernote/android-job

Он использует JobScheduler и GcmNetworkManager, если это возможно. В противном случае он возвращается к AlarmManager. Он также обрабатывает различные уровни API с помощью AlarmManager. Это сообщение в блоге дает вам обзор.

(PS: Я главный разработчик, который работал над этой библиотекой в ​​Evernote. Это полезно для наших проектов, поэтому я хотел бы также поделиться им здесь)

Ответ 4

Я думаю, что Android 5.0 JobScheduler API будет гораздо лучшим способом сделать это

Ну, это зависит от того, что такое "this". Простое знание, когда устройство подключено, бессмысленно, если вы не собираетесь что-то делать с этой информацией, и мы не знаем, что вы имеете в виду.

Имейте в виду, что JobScheduler не обязательно дает вам контроль, когда устройство подключено. Скорее, он использует этот факт, плюс ваши JobInfo и другие факторы окружающей среды, чтобы определить, когда вам нужно управлять.

Можно ли использовать этот API или аналогичный в более ранних версиях Android?

В настоящее время нет backport JobScheduler, поставляемого Android SDK. В то время как кто-то, скорее всего, напишет backport в какой-то момент, я не знаю ни одного доступного в качестве открытого источника на данный момент.

Если это невозможно, что было бы лучшим вариантом для этого (вместо явного широковещательного приемника)?

Опять же, это зависит от того, что действительно есть "this". Например, если вы пытаетесь сказать: "Я хочу получать контроль каждый так часто, но только если устройство подключено", вы можете использовать AlarmManager, а затем проверить, подключено ли устройство, прежде чем продолжить работу с работа.

Ответ 5

Пришел через эту библиотеку, не пробовал, но выглядит хорошо для чего вы хотите: https://github.com/airk000/Trigger

Evernote android-job может быть лучшим решением, хотя:)