-1

I want a task to do which require internet connection and it's must scheduled once in a day. I achieve above task partially using alarm manager like below.

 Calendar c = Calendar.getInstance(); //gives u calendar with current time
 c.add(Calendar.SECOND, 30);
 AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
 Intent intent = new Intent(this, AlarmReceiver.class);
 PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1, intent, 0);
 if (alarmManager != null) {
     alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(),
             AlarmManager.INTERVAL_DAY, pendingIntent);
 }

// my broadcast receiver 
public class AlarmReceiver extends BroadcastReceiver {
 @Override
 public void onReceive(Context context, Intent intent) {
    //my task will be here
    // for now I planned to check internet here and if it has i'll continue the task
 }
}

//in manifest
<receiver android:name=".broadcast_receiver.AlarmReceiver" />

Is there any way to postpone above task in same day whenever got internet connection?

Can AlarmManager be used to achieve above requirement?

Zameel NM
  • 43
  • 8

1 Answers1

0

You can achieve that with WorkManager. Check out the official docs for more info.

Alex Timonin
  • 1,872
  • 18
  • 31