Hi Leute,
Ich habe ein Problem bei der Erstellung von Benachrichtigungen.
ich wollte für eine App folgende Umsetzung für Notification einrichten:
1. Der Benutzer öffnet die App
2. schließt diese Nach der Benutzung
3. Wird die App >4 Wochen nicht benutzt soll eine Notification erscheinen.
Ich hab dies soweit umgesetzt, aber ich habe folgendes Problem.
Wenn die Notification erscheint, gehe ich in die Benachrichtungszentrale und klicke auf diese um die App zu starten. Schliesse ich die app, nach der Benutzung, erscheint wieder die Notification. Normalerweise sollte erneut 4 Wochen die Notification erscheinen. Hat einer eine Idee wodran das liegt?
MainActivity
Java
Date date = new Date();
Calendar now = GregorianCalendar.getInstance();
now.setTime(date);
int month = now.get(Calendar.MONTH);
month = month+1;
int year = now.get(Calendar.YEAR);
int dayOfMonth = now.get(Calendar.DAY_OF_MONTH);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
calendar.set(Calendar.HOUR_OF_DAY, 10);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.AM_PM,Calendar.AM);
Intent notificationIntent =
new Intent(MainActivity.this,MyReceiver.class).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, notificationIntent,0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);
Alles anzeigen
MyAlarmService
Java
@SuppressWarnings("static-access")
@Override
public void onStart(Intent intent, int startId)
{
super.onStart(intent, startId);
mManager = (NotificationManager) this.getApplicationContext().getSystemService(this.getApplicationContext().NOTIFICATION_SERVICE);
Intent intent1 = new Intent(this.getApplicationContext(),MainActivity.class);
Notification notification = new Notification(R.drawable.ic_launcher,"Sehen Sie sich unsere neuen Artikel an!", System.currentTimeMillis());
intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP| Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingNotificationIntent = PendingIntent.getActivity( this.getApplicationContext(),0, intent1,PendingIntent.FLAG_UPDATE_CURRENT);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.setLatestEventInfo(this.getApplicationContext(), "Solarium Shop", "Sehen Sie sich unsere neuen Artikel an!", pendingNotificationIntent);
mManager.notify(0, notification);
}
Alles anzeigen