Burada diğer tüm AUTO-CANCEL çalışmayan sorulara baktım ve hepsi yapmadığım hatalar gibi görünüyor. Her ikiAndroid: Uygulamanızda arka planda çalışan bir bildirim AUTO-CANCEL kullanma
builder.setAutoCancel(true);
ve
Notification notif = builder.build();
notif.flags |= Notification.FLAG_AUTO_CANCEL;
Ne eserlerini çalıştılar.
Minimum API'm 8 olduğundan, NotificationCompat kullanıyorum. İşte tam kodum. Bu özel bildirimde, bir şey yapmayacağım, çünkü kullanıcının bir şey yapmasına gerek yok.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(getString(R.string.app_name) + ": my title");
builder.setContentText(message);
builder.setSmallIcon(R.drawable.notification_icon);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.prog_icon);
builder.setLargeIcon(bitmap);
builder.setAutoCancel(true); // dismiss notification on user click
NotificationManager notiManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
notiManager.notify(MY_NOTI_MANAGER_ID, builder.build());
Bildirim, yalnızca mükemmel bir şekilde görüntülenir. Bunu temizlemek için hızlıca kaydırabilirsiniz. Ancak basitçe dokunmak bildirimi reddetmez. Sadece yanıyor ve orada kalıyor.
Kodum ile diğerlerinin buraya gönderilenleri arasındaki olası bazı farklar: 1) NotificationCompat kullanıyorum (fark yaratmamalı, ancak bunu daha önce duyduk). 2) Bildirimim basit olduğundan, bir amaç eklemiyorum.
Lütfen içgörüleriniz varsa lütfen bize bildirin.
Düzenleme: Amacım, arka plan uygulamamı ön planda bırakmadan bir bildirimi kapatmaktır.
Bu doğru ... – superUser
Çözüm iyi, ancak açıklama açık olduğunu düşünüyorum. "Mevcut etkin uygulamayı bekleyen amacınız olarak almaz", büyük olasılıkla boş niyet gönderir ve bildirim tepsisini daraltır. Niyet hiçbir şey yapamadığı için, etkinlik yığınının tepesine düşeriz. –
yep şampiyon gibi çalışıyor .. Çok teşekkürler .. –