package github.nisrulz.sample.gcmnetworkmanager;
import android.util.Log;
import com.google.android.gms.gcm.GcmNetworkManager;
import com.google.android.gms.gcm.GcmTaskService;
import com.google.android.gms.gcm.TaskParams;
public class CustomService extends GcmTaskService {
private static final String TAG = "CustomService";
public static final String TAG_TASK_ONEOFF_LOG = "one_off_task";
public static final String TAG_TASK_PERIODIC_LOG = "periodic_task";
@Override public int onRunTask(TaskParams taskParams) {
Log.i(TAG, "onRunTask");
switch (taskParams.getTag()) {
case TAG_TASK_ONEOFF_LOG:
Log.i(TAG, TAG_TASK_ONEOFF_LOG);
// This is where useful work would go
return GcmNetworkManager.RESULT_SUCCESS;
case TAG_TASK_PERIODIC_LOG:
Log.i(TAG, TAG_TASK_PERIODIC_LOG);
// This is where useful work would go
return GcmNetworkManager.RESULT_SUCCESS;
default:
return GcmNetworkManager.RESULT_FAILURE;
}
}
@Override public void onInitializeTasks() {
super.onInitializeTasks();
// Reschedule removed tasks here
GCMNetMUtil gcmNetMUtil = new GCMNetMUtil(this);
// One Off Task
gcmNetMUtil.oneOffTask();
// Periodic Task
gcmNetMUtil.periodicTask();
}
}