views:

116

answers:

1

Hi all,

I'm using an AlarmManager to trigger an intent that broadcasts a signal. The following is my code:

    AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent i = new Intent(this, Wakeup.class);
    try
    {
        PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0);
        Long elapsed +=  // sleep time;
        mgr.set(AlarmManager.RTC_WAKEUP, elapsed, pi);
    }
    catch(Exception r)
    {
        Log.v(TAG, "RunTimeException: " + r);
    }

I'm calling this code from an activity, so I don't know how I could be getting the following error...

ERROR/AndroidRuntime(7557): java.lang.RuntimeException: Unable to start receiver com.wcc.Wakeup: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

A: 

What if you add this line:

...
Intent i = new Intent(this, Wakeup.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
...
Cristian