SORU
10 EYLÜL 2011, CUMARTESİ


Bildirim yaşlı Niyet Ekstralar geçer

bu kod ile bir BroadcastReceiver içinde: bir bildirim yaratıyorum

String ns = Context.NOTIFICATION_SERVICE;
        NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns);
        int icon = R.drawable.ic_stat_notification;
        CharSequence tickerText = "New Notification";
        long when = System.currentTimeMillis();

        Notification notification = new Notification(icon, tickerText, when);
        notification.defaults |= Notification.DEFAULT_VIBRATE;
        long[] vibrate = {0,100,200,200,200,200};
        notification.vibrate = vibrate;
        notification.flags |= Notification.FLAG_AUTO_CANCEL;

        CharSequence contentTitle = "Title";
        CharSequence contentText = "Text";
        Intent notificationIntent = new Intent(context, NotificationActivity.class);
        notificationIntent.putExtra(Global.INTENT_EXTRA_FOO_ID, foo_id);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);

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

        int mynotification_id = 1;

        mNotificationManager.notify(mynotification_id, notification);

Ben bildirimi tıkladığınızda, NotificationActivity açar ve içeride hareket Hedefi Paket (örn: 1) foo_id almak istiyorum

Başka bir bildirim tetiklenir ve ben tekrar tıklarsanız, etkinlik hala alır ancak "eski" Niyet-Bundle değer (1). Net ile paket temizlemek için denedim () ama aynı sonucu alıyorum. Heyecanla beklediğim bir kod benim.. yanlış olduğunu düşünüyorum

CEVAP
17 ŞUBAT 2012, Cuma


Alternatif olarak, aşağıdaki kodu Pendingİntent oluşturmak için kullanabilirsiniz:

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

PendingIntent.FLAG_UPDATE_CURRENT doc:

Eğer açıklanan Pendingİntent zaten varsa, o zaman ancak bu yeni Niyet ne ile ekstra verilerini tutmak yerine. Bu kullanılabilir oluşturuyorsanız niyet sadece ekstraları değiştir, ve umurumda değil tüm varlıklar o aldığınız önceki Pendingİntent yapabilir lansmanı ile yeni ekstralar bile olmadıkları açıkça belirtilmiş.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GenTechPC

    GenTechPC

    1 Temmuz 2007
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010