Намеренный сервис для дооснащения вызова - PullRequest
0 голосов
/ 01 мая 2018

Я создал IntentService следующим образом:

`

 protected void onHandleIntent(@Nullable Intent intent) {
        Realm.init(this);
        realm = Realm.getDefaultInstance();
        List<DbModel> list = new ArrayList<>();
        RealmResults<DbModel> users = 
        realm.where(DbModel.class).equalTo("Status", false)
                .findAll();
        list.addAll(users);
        for (int i = 0; i < list.size(); i++)
            sendMeterReading(list.get(i));
    }
     private void sendMeterReading(DbModel dbModel) {
        propertyid = dbModel.getPropertyId();
        MeterReadingModel meterReadingModel = new MeterReadingModel();
        MeterReadingBuilder mobileDeviceRegBuilder = new MeterReadingBuilder()
                .setAmrModuleSerial(dbModel.getAmrModuleSerial())
                .setPropertyId(dbModel.getPropertyId()
        meterReadingModel.getMeterDeviceModel().add(mobileDeviceRegBuilder
                .createMobileDeviceReg());
        RestClient.getInstance(this).get().sendReading(meterReadingModel).enqueue(this);
    }
 public void onResponse(@NonNull Call<CommonResponse> call, @NonNull Response<CommonResponse> response) {
        if (response.body().getStatusCode() == Constants.SUCCESS_CODE) {
            Realm.init(this);
            realm = Realm.getDefaultInstance();
            DbModel dbModel = realm.where(DbModel.class).equalTo("propertyId", 
            propertyid).findFirst();
            realm.beginTransaction();
            dbModel.setUpdateStatus(true);
            realm.insertOrUpdate(dbModel);
            realm.commitTransaction();
        }
    }

`


В приведенном выше коде я использую базу данных областей, в которой есть несколько записей, я беру несколько записей и нажимаю API по одной, используя модификацию, и использую службу намерений, когда я получаю успешный результат, затем я обновляю свой DB. Вот моя проблема, когда я вызываю службу намерений. он ударил только одну запись, но я пропускаю несколько записей .

Я вызываю этот сервис из метода onResume Activity. Поэтому, когда деятельность возобновляется, эта служба называется:

    @Override
    protected void onResume() {

    super.onResume();

    Intent updateService = new Intent(HomeActivity.this, UpdateService.class);
    startService(UpdateService);

}
...