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

  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • iBand IguJoo

    iBand IguJoo

    25 AĞUSTOS 2006
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014