Probably the easiest way is to use two distinct action string values.
Another way is to use two distinct request codes when you create
PendingIntent objects: one for each operation.
So you'd have:
PendingIntent pendingIntentForPrefs = PendingIntent.getActivity(
context, 1, intentForPrefs, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent pendingIntentForAlarm = PendingIntent.getActivity(
context, 2, intentForAlarm, PendingIntent.FLAG_UPDATE_CURRENT);
Note the use of FLAG_UPDATE_CURRENT, so that PendingIntents pick up the
new extra values, if any.
-- Kostya
28.04.2011 18:45, Niall ?????:
I have a widget with a few buttons.
I want one button to open preferences, and the second to start an
AlarmManager according to the preferences that have been set.
A click of either button on the widget will go the same activity, but
I wish to distinguish between the clicks via extra information. And I
set some extra information in my intent.
Then in my activity I check for this extra information, but I can't
ever seem to get it as not null.
Am I doing something wrong here?
(I can't copy over from my source directory so the code might be
slightly erroneous)
// Setting up the intent from the widget onUpdate function
Intent intent = new Intent( context, Preferences.class );
intent.setAction( ACTION_WIDGET_PREFERENCES );
PendingIntent pendingIntent = PendingIntent.getActivity( context,
0, intent, 0 );
intent.putExtra( "timerSetup", false );
remoteViews.setOnClickPendingIntent( R.id.button_settings,
pendingIntent );
...
// And in my onCreate of my activity:
Bundle = getIntent().getExtras();
try {
if ( extras.isEmpty() )
Log.i( "Preferences.onCreate", "Bundle empty" );
} catch ( Exception e ) {
Log.w( "Preferences.onCreate", "extras.isEmpty() threw" );
}
And each time I press the button isEmpty throws.
I also tried
getIntent().getBooleanExtra( "timerSetup", false );
and while it doesn't throw, it always seems to return the default
value I provide (even if I pass an integer in instead).
How can I pass data from a widget to an activity correctly?
All advice appreciated.
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--
Kostya Vasilyev -- http://kmansoft.wordpress.com
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en