Jeffrey
Jeffrey

Reputation: 1689

Launch App from Notification with data

I'm trying to use C2DM to trigger a push notification on my android phone, and have the user click the notification and launch a certain activity in the app. How can I pass this information along?

Currently I'm doing the following:

        String ns = Context.NOTIFICATION_SERVICE;
        NotificationManager mNotificationManager 
            = (NotificationManager) getSystemService(ns);

        int icon = R.drawable.notification23;

        Notification notification = new Notification(icon, tickerText, when);
        notification.flags |= Notification.FLAG_ONGOING_EVENT | Notification.FLAG_AUTO_CANCEL;  

        Context appContext = getApplicationContext();
        Intent notificationIntent = new Intent(this, RequestDialogActivity.class);          
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
                | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        notificationIntent.putExtra(LocationHandler.KEY_ORIGINATOR, number);
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

        notification.setLatestEventInfo(appContext, contentTitle, contentText, contentIntent);

        final int id = 1;

        mNotificationManager.notify(id, notification);

I'm trying to store state by calling putExtra on the notificationIntent, but the new activity always has a null savedInstanceState Bundle. How can I pass information along?

Upvotes: 0

Views: 274

Answers (1)

Jordi Coscolla
Jordi Coscolla

Reputation: 1066

the extras you set in the intent have to be retrieved by the getIntent().getExtras() the savedInsanceState is more about retrieve the state when the application have been closed by the system and you want to recover the same state that user saw last time.

Upvotes: 1

Related Questions