Marco,

  thanks for taking the time to respond.

  (a) If you look at the code ( http://pastie.org/403831) you'll see that it
is in fact a custom log file (see class Persistent Log). The reason behind
that is to be able to have a look at the problem over a longer period of
time as it doesn't occur all the time. The default log seems to be a ring
buffer holding just the log for a couple of minutes and is not of much help
in this respect.

  (b) The receiver is triggered by an alarm (see the full code) and spawns
of a Thread immediately.
        From the pastie code mentioned above:


Intent i = new Intent(context, MyReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
(System.currentTimeMillis() + 1000),
                                60 * 60 * 1000, pi);



Cheers,
Mariano

On Sun, Mar 1, 2009 at 6:13 PM, Marco Nelissen <marc...@android.com> wrote:

>
> It looks like the output you posted is from your custom log file, so
> the first thing I'd do is to look at the system log to make sure that
> the problem isn't in your custom logging code.
> Also, doing anything lengthy in a broadcast receiver is a Bad Idea,
> and keeping the device awake while you're doing it is a Really, Really
> Bad Idea. If you need to do something every 30 minutes, you should
> schedule an alarm, not sleep for 30 minutes with a wakelock held.
>
>
>
> On Sun, Mar 1, 2009 at 8:42 AM, Mariano Kamp <mariano.k...@gmail.com>
> wrote:
> > Hi,
> >
> >   I don't really know how to phrase my question as I don't know what the
> > problem is. The symptom is that scheduled background activities are not
> > completed and I want to know why that is and how I can further
> debug/solve
> > it.
> >
> >   This is happening with NewsRob and the background synchronization that
> > loads articles from Google Reader at a scheduled interval. To debug it I
> > meanwhile created a synthetic sample that shows the behavior too. A
> Thread
> > is started once an hour, acquires a partial wake lock, logs something,
> > sleeps for 30 minutes and then releases the partial wake lock and logs
> > again.
> >
> >
> >   So it should look something like this:
> > 28 04:02: onReceive
> > 28 04:02: In aquire
> > 28 04:32: After release
> >
> >   28 being the day of the month followed by the time and message.
> >
> >   Unfortunately it doesn't look like that all the time ;-)  (Blank Lines
> and
> > <comment> added for readability).
> >
> > 28 05:02: onReceive
> > 28 05:02: In aquire
> > 28 05:32: After release
> >
> > 28 06:02: onReceive
> > 28 06:02: In aquire
> > <After release missing>
> >
> > 28 07:02: onReceive
> > 28 07:02: In aquire
> > <After release missing>
> >
> > 28 08:02: onReceive
> > 28 08:02: In aquire
> > <After release missing>
> >
> > 28 09:02: onReceive
> > <In aquire missing>
> > <After release missing>
> > ....
> >
> >   So I suspect I do something wrong with the partial wake lock? But what?
> > And even if that is the case what should happen then? Shouldn't it
> continue
> > to run when a button on the device is pressed?
> >
> >   So here is the full sample code: http://pastie.org/403831
> >
> >   And here is the relevant method:
> >
> >     public void onReceive(final Context context, Intent intent) {
> >         PersistentLog.log("onReceive", context);
> >         new Thread(new Runnable(){
> >
> >             public void run() {
> >                 PowerManager pm = (PowerManager)
> > context.getSystemService(Context.POWER_SERVICE);
> >                 PowerManager.WakeLock wl =
> > pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "SomeTag");
> >                 wl.acquire();
> >                 PersistentLog.log("In aquire", context);
> >                 SystemClock.sleep(30 * 60 * 1000);
> >                 wl.release();
> >                 PersistentLog.log("After release", context);
> >
> >             }
> >         }).start();
> >     }
> >
> >   Any ideas?
> >
> > Cheers,
> > Mariano
> >
> > ps. Yes, I've seen the typo. Thanks for not bringing it up ;)
> >
> >
> > >
> >
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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