I created a JobService to be executed by the JobScheduler... Its pretty simple, just Log something in the console with Log.Info():
public override bool OnStartJob(JobParameters @params)
{
Log.Info("JOBSERVICE", "FOI");
JobFinished(@params, false);
}
And then I'm scheduling this service this way:
public void InitService(int status)
{
JobScheduler mJobScheduler = (JobScheduler)cx.GetSystemService(Context.JobSchedulerService);
JobInfo.Builder builder = new JobInfo.Builder(1, new ComponentName(cx, Java.Lang.Class.FromType(typeof(JobSchedulerSyncService))));
builder.SetPeriodic(30000);
builder.SetPersisted(true);
builder.SetRequiresDeviceIdle(true);
if (status == Constants.SYNC_WIFI)
builder.SetRequiredNetworkType(NetworkType.Unmetered);
else if (status == Constants.SYNC_WIFI_3G)
builder.SetRequiredNetworkType(NetworkType.Any);
else
builder.SetRequiredNetworkType(NetworkType.Unmetered);
mJobScheduler.Schedule(builder.Build());
}
The problem is, none of the required parameters seems to work, my service is running even when I'm not connected to the Internet, neither when my android is not Idle...
Am I missing something? Thank you very much!