android - How to use oAuth acquired credentials in background service? -


i following (https://developers.google.com/google-apps/calendar/quickstart/android) use google calendar apis in android app.

it works, need able same in background service.

com.google.api.services.calendar.calendar mservice = new com.google.api.services.calendar.calendar.builder(                 transport, jsonfactory, credential)                 .setapplicationname("google calendar api android quickstart")                 .build(); 

helps me instantiate calendar object.

i instantiate crendential so:

credential = googleaccountcredential.usingoauth2(                 getapplicationcontext(), arrays.aslist(scopes))                 .setbackoff(new exponentialbackoff())                 .setselectedaccountname(settings.getstring(pref_account_name, null)); 

how use them both in background service?

i using intentservice (wakefulintentservice) background service.

the intent service triggered alarm this:

public class receiver extends broadcastreceiver {     private static final int period = 5000;     private static final int initial_delay = 5000;      @override     public void onreceive(context ctxt, intent i) {         if (i.getaction() == null) {             wakefulintentservice.sendwakefulwork(ctxt, scheduledservice.class);         } else {             schedulealarms(ctxt);         }     }      static void schedulealarms(context ctxt) {         alarmmanager mgr =                 (alarmmanager) ctxt.getsystemservice(context.alarm_service);         intent = new intent(ctxt, receiver.class);         pendingintent pi = pendingintent.getbroadcast(ctxt, 0, i, 0);         mgr.setrepeating(alarmmanager.elapsed_realtime_wakeup,                 systemclock.elapsedrealtime() + initial_delay,                 period, pi);     } } 

my main activity calls receiver.schedulealarms.


Comments