SORU
29 Temmuz 2009, ÇARŞAMBA


Nasıl bir etkinlik için bildirimi tıklatın parametreleri göndermek için?

Benim bildirim benim etkinlik için parametreleri göndermek için bir yol bulabilirim.

Bir bildirim oluşturan bir hizmeti var. Kullanıcı bildirime tıkladığında bazı özel parametreleri ile benim ana etkinlik açmak istiyorum. E. g bir aktivitem yük ve özel madde ayrıntılı bir bakış sunmak, böylece maddenin kimliği. Daha özel bir dosya indiriyorum ve dosya indirildiğinde bildirim tıklandığında özel bir modda benim faaliyeti açan bir niyet sahibi olmak istiyorum. Benim niyetim putExtra kullanmak için denedim, ama bunun özü gibi, yanlış yapıyorum sanırım.

Benim hizmetten kod Bildirim oluşturur:

        // 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);

Bildirim: ekstra parametre almaya çalışır o benim Etkinlik kodu

 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") );
    }

Ekstralar her zaman boş ve hiç benim günlüğüne bir şey alır.

Btw... onCreate benim etkinlik başladığında sadece çalıştırılır, eğer benim faaliyeti başlamış ise ben de ekstralar toplamak ve benim etkinlik sunmak için alıyorum item_id göre.

Herhangi bir fikir?

CEVAP
29 Temmuz 2009, ÇARŞAMBA


Bu rehbere bir bak (creating a notification) ve örnekleri ApiDemos "" ve "". NotificationDisplay StatusBarNotifications

Faaliyet çalışıyorsa yönetmek için iki yol vardır:

  1. EkleyinFLAG_ACTİVİTY_SİNGLE_TOPNiyet bayrak etkinliği başlatılıyor, ve etkinliği sınıfta uygulamakonNewİntent(Niyet niyet)olay işleyicisi, bu şekilde erişebileceğiniz yeni hedefi oldu adlı etkinliği (ki aynı değil sadece arama getİntent(), bunun için ilk Hedefi o başlattı aktivite.

  2. Aynı numara, ama eklemelisiniz Niyet için bir bayrak eklemek yerine< . "" . singleTop ^güçlü etkinlik androidmanifest.xml.

Eğer kullanırsanız ekstra, bayrağı ile PendingIntent.getActivity() Ara hatırlamak için PendingIntent.FLAG_UPDATE_CURRENT, aksi takdirde aynı ekstra niyet her bildirim için tekrar kullanılacaktır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EminemMusic

    EminemMusic

    9 ŞUBAT 2007
  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009