package it.angelic.receivers; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import java.util.Calendar; import it.angelic.soulissclient.Constants; import it.angelic.soulissclient.SoulissApp; import it.angelic.soulissclient.helpers.SoulissPreferenceHelper; public class WatchDogSetupReceiver extends BroadcastReceiver { SoulissPreferenceHelper opts = SoulissApp.getOpzioni(); //private static final int EXEC_INTERVAL = 200 * 1000; @Override public void onReceive(final Context ctx, final Intent intent) { //controlliamo al doppio della frequenza servizio boolean dataServiceEnabled = opts.isDataServiceEnabled(); if (dataServiceEnabled) { Log.i(Constants.TAG + ":WDSetup", "LifeCheckerSetupReceiver.onReceive() called. Checking every msec." + opts.getBackedOffServiceIntervalMsec() / 2); AlarmManager alarmManager = (AlarmManager) ctx.getSystemService(Context.ALARM_SERVICE); Intent i = new Intent(ctx, WatchDogEventReceiver.class); // explicit // intent PendingIntent patTheDog = PendingIntent.getBroadcast(ctx, 0, i, PendingIntent.FLAG_CANCEL_CURRENT); Calendar now = Calendar.getInstance(); now.add(Calendar.SECOND, 20); alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, now.getTimeInMillis(), opts.getBackedOffServiceIntervalMsec()/2, patTheDog); } } }