android - Update userpositon to server periodically using Endpoints -


i update users position google endpoint in google app engine periodically.
fact i'm using endpoints important, because that's why cant use intentservice , alarmmanger schedule task.

the problem following:
update position server need objects not accessible in service.
let me try sketch it:

public class myservice extends intentservice {     [...]     @override     public int onstartcommand(intent intent, int flags, int startid) {         endpointshandler.updateposition()         return super.onstartcommand(intent, flags, startid);     } } 

here need objects of endpointshandler. cannot create new object, because depends on other objects googleapiclient.

but cannot add objects server because when initialize alarmmanager there no way pass objects

alarmmanager alarmmanager = (alarmmanager) getsystemservice(alarm_service); intent updaterintent = new intent(this, myservice.class); pendingintent pendingintent = pendingintent.getservice(this, 0, updaterintent, 0); alarmmanager.setrepeating(alarmmanager.elapsed_realtime_wakeup, some_period, some_period, pendingintent); 

i pass objects in intent, besides fact classes (even googleapiclient) have implement parceable, don't thing way. i'm sure there clean way not able find.

i solved on own.
since didn't find solution on so, i'll post here:

i used way descriped here. created central controller-class keeps important objects of app. class subclass of android.app.application.
in manifest-file added

<application     [...]     android:name=".controllers.appcontroller"> 

to declare use custom application class.
in each activity , service can use getapplication() object of application-class.


Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -