Jak wysłać parametry od kliknięcia powiadomienia do działania?

Mogę znaleźć sposób na wysłanie parametrów do mojej aktywności z mojego powiadomienia.

Mam usługę, która tworzy powiadomienie. Gdy użytkownik kliknie powiadomienie, chcę otworzyć moje główne działanie za pomocą specjalnych parametrów. Np. Identyfikator przedmiotu, więc moja aktywność może załadować i przedstawić specjalny widok szczegółów przedmiotu. Mówiąc dokładniej, pobieram plik, a gdy plik zostanie pobrany, chcę, aby powiadomienie miało zamiar otworzyć moją aktywność w trybie specjalnym po kliknięciu. Próbowałem użyćputExtra na moją intencję, ale nie wydaje mi się, żeby ją wydobył, więc myślę, że robię to źle.

Kod z mojej usługi, która tworzy powiadomienie:

        // construct the Notification object.
     final Notification notif = new Notification(R.drawable.icon, tickerText, System.currentTimeMillis());


    final RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.custom_notification_layout);
    contentView.setImageViewResource(R.id.image, R.drawable.icon);
    contentView.setTextViewText(R.id.text, tickerText);
    contentView.setProgressBar(R.id.progress,100,0, false);
    notif.contentView = contentView;        

    Intent notificationIntent = new Intent(context, Main.class);
    notificationIntent.putExtra("item_id", "1001"); // <-- HERE I PUT THE EXTRA VALUE
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
    notif.contentIntent = contentIntent;

    nm.notify(id, notif);

Kod z mojego działania, które próbuje pobrać dodatkowy parametr z powiadomienia:

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);


    Bundle extras = getIntent().getExtras();
    if(extras != null){
        Log.i( "dd","Extra:" + extras.getString("item_id") );
    }

Dodatki są zawsze zerowe i nigdy nie dostaję niczego do mojego dziennika.

Btw ... theonCreate jest uruchamiany tylko po rozpoczęciu mojej aktywności, jeśli moja działalność jest już rozpoczęta, chcę również zebrać dodatki i przedstawić moją aktywność zgodnie z otrzymanym item_id.

Jakieś pomysły?

questionAnswers(12)

yourAnswerToTheQuestion