Привет всем помогите пожалуйста разобраться с одной вещью, в приложении используется retrofit2, с его помощью я делаю head запрос на сервер
ShoppingService service = ServiceGenerator.createServiceToken(ShoppingService.class, token);
Call is_update_request = service_gen.is_update();
Headers headers = is_update_request.execute().headers();
Это вызов
вот сам сервис
@HEAD("shoplists_update/")
Call<Void> is_update();
То есть там просто проверяется заголовок определенный
Все это дело запускается через IntentService
@Override
protected void onHandleIntent(Intent intent) {
String token = getToken();
ShoppingService service = ServiceGenerator.createServiceToken(ShoppingService.class, token);
Log.d(LOG_TAG, "onHandleIntent start ");
try {
Log.v(LOG_TAG, "start request");
if(is_sync(service)){
Log.v(LOG_TAG, "start sync");
sync(service);
Log.v(LOG_TAG, "end sync");
}
} catch (IOException | ParseException e) {
e.printStackTrace();
}
Log.d(LOG_TAG, "onHandleIntent end ");
}
is_sync как раз делает запросы
И все это дело запускается по расписанию в Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shopping_list);
AlarmManager mgr = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent notificationIntent = new Intent(this, SyncService.class);
PendingIntent pendingIntent=PendingIntent.getService(this, 0, notificationIntent, 0);
mgr.setInexactRepeating(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis(), 120, pendingIntent);
}
Вопрос в том что при каждом запуске IntentService, число запросов увеличивается на один, т е при первом запуске один запрос, при втором два и т.д. Почему так происходит?
И еще вопрос запуск IntentService сделан в базовом activity, т.е все остальные activity наследуются от него, насколько корректно это? И если нет то как правильно вызывать IntentService по расписанию.
Просьба не кидать камнями, только начинаю писать на android.