Я пытаюсь вызвать API для каждой 1 секунды в методе onHandleIntent класса ServiceIntent в Android.
onHandleIntent выполняется только один раз. Я хочу запускать этот метод каждую секунду.
FancyBookMakingService.class
@Override
protected void onHandleIntent(@Nullable Intent intent) {
if (intent != null) {
try {
Thread.sleep(1000);
String result = getApi(URL); //API calling
Intent intentFBM = new Intent(DataHolder.ACTION_SEND_DATA);
intentFBM.putExtra("key", result);
sendBroadcast(intentFBM);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
BroadcastReceiver
У меня есть два класса ServiceIntent, первый работает нормально, другой нет, а BroadcastReceiverSignalr - это внутренний класс
public class BroadcastReceiverSignalr extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equalsIgnoreCase(DataHolder.ACTION_SEND_ACTIVE)) {
String result = intent.getStringExtra(DataHolder.keySIGNALR);
Log.i("TAG",result);
}else if (action.equalsIgnoreCase(DataHolder.ACTION_SEND_DATA)){
String data = intent.getStringExtra("key");
Log.i("TAG",data);
}
}
}
AndroidMainfest.xml
<service android:name=".FancyBookMakingService" />