私はCalender Eventsリマインダを作成中です。 AndroidにはネイティブのCalenderイベントリマインダーはありませんので、ユーザーは異なるカレンダーアプリをインストールします。PendingIntentを使用してダイアログを表示
これらのアプリは、リマインダ通知などのリマインダーイベントで表示される可能性があります。今私はこれらのイベントのカレンダーアプリケーションでプログラムでイベントを設定し、時間がたつと通知が表示されず、ポップアップメッセージがサウンドのようなアラームで表示されるようにしたいと考えています。私はそのサイトのコードを使用しています。それは働いていますが、通知の形でリマインダを表示しています。
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);
}
それは、この保留中の意図を使用する必要があることをこれらのコード行を使用してから可能とすることができますので、どのように今、私は代わりに、通知のダイアログボックスを表示したい:ここ
はコードがありますダイアログボックス。あなたのレシーバクラス、通知の代わりに表示するダイアログを取得するためのコードだけで
Intent notificationIntent = new Intent(this, ReminderEditActivity.class);
notificationIntent.putExtra(RemindersDbAdapter.KEY_ROWID, rowId);
PendingIntent pi = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_ONE_SHOT);
ありがとうございました。ダイアログが表示されているときにサウンドを表示したい場合は – User42590
私の答えを編集しました。 – Kanth
あなたは+1以上の価値があります...ありがとう。 –