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
Bu rehbere bir bak (creating a notification) ve örnekleri ApiDemos "" ve "". NotificationDisplay StatusBarNotifications
Faaliyet çalışıyorsa yönetmek için iki yol vardır:
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.
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.
Nasıl terminalden Curl ile JSON veri g...
Nasıl bir Etkinlik için başlık çubuğun...
Nasıl bir toplu iş dosyası komut satır...
Nasıl bir başlık curl çağrısı ile bir ...
Nasıl Android Şeffaf Etkinlik oluşturm...