Я работаю над приложением, которое будет загружать все мои записи базы данных на сервер последовательно в фоновом режиме, когда устройство подключено к Интернету.Использование JobScheduler вместо BroadcastReceiver и службы
Для этого я написал 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), и почему?
В чем разница между CONNECTIVITY_CHANGE и CONNECTIVITY_ACTION? – Kartheek
Если вы посмотрите здесь https://developer.android.com/reference/android/net/ConnectivityManager.html#CONNECTIVITY_ACTION, вы увидите, что CONNECTIVITY_ACTION - это имя константы со значением «android.net.conn.CONNECTIVITY_CHANGE» ' , – Chris
Это замечательно – Kartheek