package com.num.helpers; import java.util.Calendar; import com.num.Values; import com.num.receivers.ScreenReceiver; import com.num.services.MeasurementService; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.os.PowerManager; import android.util.Log; public class ServiceHelper { final static String Bigtag = "ServiceHelper"; private static PendingIntent pendingIntent; public static Values values; public static void processStartService(Context context) { startService(context, 5); } public static void recurringStartService(Context context) { startService(context, Values.FREQUENCY_SECS); } public static void startService(Context context,int seconds) { Intent serviceIntent = new Intent(context, MeasurementService.class); pendingIntent = PendingIntent.getService(context, 0, serviceIntent, PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager alarmManager = (AlarmManager)context.getSystemService(context.ALARM_SERVICE); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND, seconds); alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); Log.i(Bigtag, "STARTED service"); } public static void processStopService(Context context) { AlarmManager alarmManager = (AlarmManager)context.getSystemService(context.ALARM_SERVICE); try{ alarmManager.cancel(pendingIntent); } catch(Exception e) { e.printStackTrace(); } Log.i(Bigtag, "STOPPED: service"); } public static void processRestartService(Context context){ Log.i(Bigtag, "RESTARTING....... service"); processStopService(context); processStartService(context); } }