Dialog mit PendingIntent anzeigen
Ich arbeite an der Erinnerung an Kalenderereignisse. In Android gibt es keine systemeigene Erinnerung an Kalenderereignisse, sodass Benutzer unterschiedliche Kalender-Apps installieren können.
Jetzt können diese Apps bei Erinnerungsereignissen anders sein, als bei Erinnerungsbenachrichtigungen. Jetzt möchte ich, dass ich ein Ereignis programmgesteuert in diesen Ereigniskalender-Apps einstelle und pünktlich keine Benachrichtigung mehr zeige, sondern eine Popup-Meldung mit alarmähnlichem Ton angezeigt wird. Dabei verwende ich einen Code von dieser Seite. Es funktioniert, aber es zeigt Erinnerungen in Form von Benachrichtigungen.
Hier ist Code:
OnReceive
void doReminderWork(Intent intent) {
Long rowId = intent.getExtras().getLong(RemindersDbAdapter.KEY_ROWID);
NotificationManager mgr = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Intent notificationIntent = new Intent(this, ReminderEditActivity.class);
notificationIntent.putExtra(RemindersDbAdapter.KEY_ROWID, rowId);
PendingIntent pi = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_ONE_SHOT);
Notification note=new Notification(android.R.drawable.stat_sys_warning, getString(R.string.notify_new_task_message), System.currentTimeMillis());
note.setLatestEventInfo(this, getString(R.string.notify_new_task_title), getString(R.string.notify_new_task_message), pi);
note.defaults |= Notification.DEFAULT_SOUND;
note.flags |= Notification.FLAG_AUTO_CANCEL;
int id = (int)((long)rowId);
mgr.notify(id, note);
}
Jetzt möchte ich ein Dialogfeld anstelle einer Benachrichtigung anzeigen, damit anhand dieser Codezeilen festgestellt werden kann, dass diese ausstehende Absicht im Dialogfeld verwendet werden soll.
Intent notificationIntent = new Intent(this, ReminderEditActivity.class);
notificationIntent.putExtra(RemindersDbAdapter.KEY_ROWID, rowId);
PendingIntent pi = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_ONE_SHOT);