Hi,

I am making an application that has to periodically poll the a server
for something.

For this, I am trying to create a service that'll constantly be
running in the background, poll the server every 1 min and then based
on the reply from server it shall generate a task bar notification.

But i am stuck. For testing purposes i have made a service that beeps
every 1 minute. (No client-server interface yet). It beeps okay when
the screen in on, but when it goes to sleep the beeping stops.

I have a test activity with two buttons, 1 to start and the other to
stop the service. And one service class named S_PS_PollService

The setOnClickListener of 'Start Activity' button contains:
Thread pollServiceThread = new Thread() {
                                        public void run() {

                                                startService(new 
Intent(MM_MainMenu.this,
S_PS_PollService.class));

                                        }
                                };
                                pollServiceThread.start();


The 'Stop Activity' button simply has:
stopService(new Intent(MM_MainMenu.this, S_PS_PollService.class));


Following are the methods from S_PS_PollService class:
public void onCreate() {

                pollSound = MediaPlayer.create(this, R.raw.chirp);

                alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

                Intent myIntent = new Intent(this, S_PS_PollService.class);

                pendingIntent = PendingIntent.getService(this, 0, myIntent, 0);

                // for wake lock
                pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
                wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");

                // for calendar
                calendar = Calendar.getInstance();

}

public void onStart(Intent intent, int startId) {
                super.onStart(intent, startId);
                wl.acquire();

                pollSound.start();

                calendar.setTimeInMillis(System.currentTimeMillis());
                calendar.add(Calendar.MILLISECOND, 60000);

                alarmManager.set(AlarmManager.RTC_WAKEUP,
                                calendar.getTimeInMillis(), pendingIntent);

                wl.release();

}


Whenever the alarm kicks off onStart() method is executed, making the
beep and setting new alarm. But it works only as long as screen is on.

I have tried for https://github.com/commonsguy/cwac-wakeful but didnt
get it. Relatively new to android ...

Please help me, im very desperate :) Thanks, !

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to