Я работаю над приложением, которое будет последовательно загружать все мои записи базы данных на сервер в фоновом режиме, когда устройство подключено к Интернету.
Для этого я написал BroadcastReceiver
, который будет прослушивать сетевое соединение. Когда этот приемник срабатывает, я запускаю фоновую службу для загрузки записей.
Вот мой код.
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
AppUtils.checkInternetConnection(context));
//If the device has the internet connection and if there are any pending records to upload to server then start the service for uploading the records.
if (AppUtils.checkInternetConnection(context)) {
if (Database.getInstance().getTotalRecordsCount() > 0) {
context.startService(new Intent(context, SurveyUploadService.class));
}
} else {
context.stopService(new Intent(context, SurveyUploadService.class));
}
}
}
Теперь мое сомнение
<сильный>1. Могу ли я сделать то же самое с помощью JobScheduler?< бр> <сильный>2. Какой подход лучше (мой или тот, который использует JobScheduler) и почему?