Saya hanya menerima satu pemberitahuan dan jika ada pemberitahuan lain, itu menggantikan yang sebelumnya dan ini kode saya
private static void generateNotification(Context context, String message,
String key) {
int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
Intent notificationIntent = new Intent(context,
FragmentOpenActivity.class);
notificationIntent.putExtra(key, key);
// set intent so it does not start a new activity
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(context, 0,
notificationIntent, 0);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_SOUND;
// notification.sound = Uri.parse("android.resource://" +
// context.getPackageName() + "your_sound_file_name.mp3");
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(0, notification);
}
android
notifications
android-notifications
Kartheek s
sumber
sumber
Jawaban:
ganti saja baris Anda dengan ini
berharap ini akan membantu Anda.
sumber
Unique_Integer_Number
di kode Anda .. dan kode mana yang harus digantiNotification_id sederhana harus dapat diubah.
Buat saja nomor acak untuk notification_id.
atau Anda dapat menggunakan metode ini untuk membuat nomor acak seperti yang diceritakan oleh tieorange (ini tidak akan pernah terulang):
dan ganti baris ini untuk menambahkan parameter id notifikasi untuk menghasilkan nomor acak
sumber
Menggunakan Preferensi Bersama berhasil untuk saya
sumber
Ganti baris Anda dengan ini.
sumber
Saya rasa ini akan membantu seseorang ..
di bawah kode "not_nu" adalah int random .. PendingIntent dan Notification memiliki ID yang sama .. sehingga pada setiap klik notifikasi maksudnya akan mengarah ke aktivitas yang berbeda ..
sumber
Di tempat
uniqueIntNo
meletakkan bilangan bulat unik seperti ini:sumber
Anda perlu menambahkan ID unik ke setiap notifikasi agar tidak saling bergabung. Anda dapat menggunakan tautan ini untuk referensi Anda:
https://github.com/sanathe06/AndroidGuide/tree/master/ExampleCompatNotificationBuilder
sumber
Saya memecahkan masalah saya seperti ini ...
sumber
Cara lain untuk melakukannya adalah mengambil tanggal saat ini, mengubahnya menjadi panjang, ambil saja 4 digit terakhir. Ada kemungkinan besar bahwa nomor tersebut unik.
sumber
int notificationId = System.currentTimeMillis()%10000;
Anda hanya perlu mengubah satu baris Anda dari
notificationManager.notify(0, notification);
menjadinotificationManager.notify((int) System.currentTimeMillis(), notification);
...Ini akan mengubah id pemberitahuan setiap kali pemberitahuan baru akan muncul
sumber
Letakkan kode ini, bukan 0
Seperti di bawah ini, ini bekerja untuk saya
sumber
Masalahnya ada pada Anda
notificationId
. Anggap saja sebagai indeks array. Setiap kali Anda memperbarui notifikasi, dinotificationId
sinilah tempat yang diperlukan untuk menyimpan nilai. Karena Anda tidak menaikkan nilai int Anda (dalam hal ini, AndanotificationId
), ini selalu menggantikan yang sebelumnya. Solusi terbaik yang saya kira adalah menaikkannya tepat setelah Anda memperbarui pemberitahuan. Dan jika Anda ingin tetap gigih, maka Anda dapat menyimpan nilai AndanotificationId
disharedPreferences
. Setiap kali Anda kembali, Anda bisa mengambil nilai integer terakhir (notificationId
disimpan dalamsharedPreferences
) dan menggunakannya.sumber
Di bawah ini adalah kode untuk melewati id pemberitahuan unik:
Atur
notificationId
disavedPreferences
jarak tertentu seperti saya telah melakukannya pada 1000. Jadi tidak akan membuat masalah apapun di masa depan. Beri tahu saya jika Anda memerlukan informasi lebih detail atau pertanyaan apa pun. :)sumber
Gunakan metode berikut dalam kode Anda.
Metode panggilan: -
Metode:-
sumber
Penghitung sederhana dapat menyelesaikan masalah Anda.
sumber
sumber
sumber