Уведомление: передать данные

Я пытаюсь передать данные из уведомления в активность:

btnShedule.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

            Intent notificationIntent = new Intent(Oconf.this, Oconf.class);
            notificationIntent.putExtra("test", 122);

            PendingIntent contentIntent = PendingIntent.getActivity(Oconf.this, 0, notificationIntent, 0);

            Notification notification = new Notification(R.drawable.notify_deal, "text", System.currentTimeMillis());
            notification.setLatestEventInfo(Oconf.this, getString(R.string.notify_events), "text", contentIntent);

            notification.defaults |= Notification.DEFAULT_SOUND;
            notification.flags |= Notification.FLAG_AUTO_CANCEL;

            notificationManager.notify(0, notification);
        }
    });

Затем в резюме:

public void onResume() {

    String q = getIntent().getStringExtra("test");
    if (q == null) {
        Log.e(TAG, "null!");
    }
    else {
        Log.e(TAG, q);
    }

    super.onResume();
}

У меня "ноль!". Где ошибка?


person embo    schedule 30.10.2010    source источник


Ответы (2)


В моем случае onNewIntent() никогда не вызывался, когда я нажимал на уведомление. Однако я добавил следующий код в метод onCreate():

String m = getIntent().getStringExtra("put_extra_string");

и я получил строку, которую пытался передать намерению уведомления.

person Ania    schedule 27.09.2011

person    schedule
comment
stackoverflow.com/questions/2845613/ - person embo; 01.11.2010