Skip to content

Instantly share code, notes, and snippets.

@bbenetskyy
Created April 19, 2022 11:50
Show Gist options
  • Save bbenetskyy/80b5a033ed2fbdaf0844731f73cb5884 to your computer and use it in GitHub Desktop.
Save bbenetskyy/80b5a033ed2fbdaf0844731f73cb5884 to your computer and use it in GitHub Desktop.
public class MainActivity : MvxFormsAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
//other on initialization code here skipped
using var builder = new Constraints.Builder();
builder.SetRequiredNetworkType(NetworkType.Connected);
var workConstraints = builder.Build();
var interval = TimeSpan.FromMinutes(16);
SetupWorker<BackgroundWork>(interval, workConstraints);
}
private void SetupWorker<TWorker>(TimeSpan interval, Constraints workConstraints) where TWorker : Worker
{
var request = PeriodicWorkRequest.Builder.From<TWorker>(interval)
.SetConstraints(workConstraints)
.Build();
WorkManager.GetInstance(ApplicationContext)
.EnqueueUniquePeriodicWork(nameof(TWorker), ExistingPeriodicWorkPolicy.Replace, request);
// WorkManager.GetInstance(ApplicationContext).Enqueue(request);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment