Dianne,

What happens in the situation where an Activity receives a call to
onNewIntent() before being saved and restored? I've assumed that in this
case, that a call to getIntent() will return the last intent supplied to
onNewIntent(), is that correct?

Tom.

2009/5/20 Dianne Hackborn <hack...@android.com>

> getIntent() always returns the original intent used to start an activity.
> When it is brought to the foreground with a new intent (and is singleTop),
> you will receive that new intent in onNewIntent().
>
>
> On Wed, May 20, 2009 at 10:55 AM, Jason Proctor <ja...@particularplace.com
> > wrote:
>
>>
>> a while back i posted an issue i was having when my BroadcastListener
>> was listening for phone state and sending the info over to an
>> Activity which would present UI. but getIntent() in the receiving
>> Activity always brought back the initial one. should i be using
>> something off PendingIntent in that case too?
>>
>> thanks
>>
>>
>>
>>
>> >You should be using PendingIntent.getBroadcast() instead of
>> getActivity().  :)
>> >
>> >j
>> >
>> >On Wed, May 20, 2009 at 3:23 AM, Alan Jones <skyp...@gmail.com> wrote:
>> >>
>> >>  Hi All,
>> >>
>> >>  I've had an issue where no matter how I've tried to set it up I'm
>> >>  finding the BroadcastReceivers aren't receiving any PendingIntents. A
>> >>  look through LogCat confirms that the intents are launched, but
>> >>  they're not being executed.
>> >>
>> >>  I managed to make a simple(ish) repro case. If you take the
>> >>  SimpleWiktionary widget by Jeff Sharkey
>> >>http://code.google.com/p/wiktionary-android/
>> >>  and make the following changes plus any required imports.
>> >>
>> >>  Replace the Service's onStart with this
>> >>  <code>
>> >>     public static class UpdateService extends Service {
>> >>         @Override
>> >>         public void onStart(Intent intent, int startId) {
>> >>             // Build the widget update for today
>> >>             RemoteViews updateViews = buildUpdate(this);
>> >>
>> >>             // Push update for this widget to the home screen
>> >>             ComponentName thisWidget = new ComponentName(this,
>> >>  WordWidget.class);
>> >>             AppWidgetManager manager = AppWidgetManager.getInstance
>> >>  (this);
>> >>             manager.updateAppWidget(thisWidget, updateViews);
>> >>
>> >>             Context context = getBaseContext();
>> >>                 long nextAlarm = System.currentTimeMillis() + 15000;
>> >>                 Intent alarmIntent = new Intent(context,
>> WordWidget.class);
>> >>                 PendingIntent pendingIntent =
>> >>PendingIntent.getActivity(context,
>> >>                                 0 /* no requestCode */,
>> >>alarmIntent, 0 /* no flags */);
>> >>
>> >>                 AlarmManager alarmManager = (AlarmManager)
>> >>  context.getSystemService(android.app.Activity.ALARM_SERVICE);
>> >>                 alarmManager.set(AlarmManager.RTC_WAKEUP, nextAlarm,
>> >>  pendingIntent);
>> >>
>> >>         }
>> >>  </code>
>> >>
>> >>  and add an override to onReceive like this
>> >>  <code>
>> >>         @Override
>> >>         public void onReceive(Context context, Intent intent) {
>> >>                 final String action = intent.getAction();
>> >>                 Log.d("WordWidget", "Action: " + action);
>> >>
>> >>                 super.onReceive(context, intent);
>> >>         }
>> >>  </code>
>> >>
>> >>  Then add the widget to your desktop and watch LogCat. After 15 seconds
>> >>  you'll see the intent getting launched, but nothing logged with the
>> >>  tag WordWidget.
>> >>
>> >>  I've got no idea what I've done wrong, anybody having a "well, there's
>> >>  your problem." moment?
>> >>
>> >>  Cheers,
>> >>
>> >>  Alan.
>> >>  >
>> >>
>> >
>> >
>> >
>> >--
>> >Jeff Sharkey
>> >jshar...@android.com
>> >
>> >
>>
>> --
>> jason.software.particle
>>
>>
>>
>
>
> --
> Dianne Hackborn
> Android framework engineer
> hack...@android.com
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support, and so won't reply to such e-mails.  All such
> questions should be posted on public forums, where I and others can see and
> answer them.
>
>
>
> >
>

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