Мальчик понял твою точку зрения.То, что вы указали, совершенно правильно, что вы должны стараться избегать широковещательных приемников для такой ситуации, поскольку люди в наше время имеют большое количество приложений, и каждый запрос на запуск приложения после подключения к Интернету приведет к зависанию системы пользователя, поскольку каждое приложение хочет отправить запрос.после того, как Wi-Fi подключен.Таким образом, система Android поставляется с JET PACK, после чего вы не должны выполнять действие своего приложения, а запрашивать это действие для системы Android, и они будут обрабатывать фоновый запрос.
Как упоминалось выше, Саид работает с
Constraints constraints = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
OneTimeWorkRequest onetimeJob = new OneTimeWorkRequest.Builder(YourJob.class)
.setConstraints(constraints).build(); // or PeriodicWorkRequest
WorkManager.getInstance().enqueue(onetimeJob);
Но подождите, вы хотите запустить работу, когда интернет подключен, поэтому вы хотите что-то вроде устаревшей трансляции для изменения соединения.Почему ты не делаешь одну вещь?Всякий раз, когда данные, которые вы получаете, когда пользователь находится на переднем или заднем плане, используют диспетчер работ.Если вы используете для него модификацию, то он возвращает ошибку, когда нет подключения к интернету, таким образом, вы можете запланировать работу, когда сбой происходит из-за сети.
Таким образом, ваша работа будет
override fun onFailure(call: Call<Chat>, t: Throwable) {
Log.v("chatsyncchecking","sending message failed",t)
if(t is IOException){
Log.v("chatsyncchecking","scheduling chat sync")
(app as App).enqueueChatSync()
}
}
(Вы можете выполнить каждый запрос из класса приложения)
Так что это дает вам преимущество, что вы не должны увольнять менеджера работы всякий раз, когдаИнтернет подключен.Просто ты стреляешь, когда какая-то задача проваливаетсяЭто делает меньше запросов работы для системы Android тоже.В конце концов, все мы - сообщество, которое помогает улучшить Android, и пользователи, имеющие большой опыт работы с телефоном, не сильно отстают.Надеюсь, это поможет