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); 

Antworten auf die Frage(1)

Ihre Antwort auf die Frage