我有一项服务可以开始通知:
public class Notify extends Service{
@Override
public void onCreate() {
Intent resultIntent = new Intent(this, Main.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, resultIntent, 0);
Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Notification noti_builder = new Notification.Builder(this)
.setSmallIcon(R.drawable.icon)
.setContentTitle("Title")
.setContentText("Text")
.setSound(uri)
.setContentIntent(pIntent)
.build();
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
noti_builder.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, noti_builder);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
服务在其他课程中开始:
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancelAll();
Intent intent = new Intent(AddAlarm.this, Notify.class);
intent.putExtra("id", ID);
AlarmManager manager = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getService(AddAlarm.this, 0, intent, 0);
manager.set(AlarmManager.RTC_WAKEUP, notifyDate.getTimeInMillis(), pendingIntent);
执行此代码后,会显示多个通知。一切都是重复的。我试图更改待定意图标志,但我没有得到满意的结果。有什么建议?