1

こんにちは、私は Android アプリケーションに取り組んでいます。(03 - 8 月 -2012 年午後 5 時 ) のような特定の時間の通知を作成しようとしているので、カレンダーを使用して時間を設定し、calendar.getTimeInMillis i通知の時刻を取得しますが、残念ながら、アプリケーションの起動後にエミュレータでアプリケーションを実行すると、特定の時刻を気にせずに通知が表示されます。つまり、午後 4 時ではなく、通知が上部に表示され、タイムスタンプが 5:午後 0 時、私の通知コードは次のとおりです。

String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

int icon = R.drawable.ieee;
CharSequence tickerText = "Hello";

//   long when = System.currentTimeMillis();

//setting custom time 
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.DAY_OF_MONTH,03);
calendar.set(Calendar.HOUR_OF_DAY,17);
calendar.set(Calendar.MINUTE,26);
calendar.set(Calendar.SECOND, 00);
long when = calendar.getTimeInMillis();        // notification time

Notification notification=new Notification (icon, tickerText, when);

Context context = getApplicationContext();
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(1, notification);

現在、すべてが実行されていますが、少し問題があります。明後日にアプリケーションを開くと、アプリが最初に行うことは古いアラームの通知を行うことです。古いアラームの日付を設定してこれを試しました。アプリを開くと、最初に古いアラームが表示されます。これを解決することについて?

4

2 に答える 2

2

あなたがそれを言わないとき、それは待っていないからです。Calendar時間を設定して、通知サービスが待機することを期待することはできません。

必要なときにイベントを生成するには、代わりにTimerTaskorを使用する必要があります。AlarmManager次に、いずれかの実装内で通知を作成します。

于 2012-08-03T16:20:16.647 に答える
0

ああ、私はあなたの主張を理解したと思います、またはそう願っています笑、それは特定の日付にアラームマネージャーを設定するようなものです。したがって、この日付が来ると、アラームマネージャーは特定の値「enum ie」にフラグを設定し、次にこのコードセグメント内でフラグを設定しますこのフラグをチェックするたびに特定のタスクを実行するチェック機能がありますよね? http://androidideasblog.blogspot.com/2011/07/alarmmanager-and-notificationmanager.html これは大いに役立ちます!!

于 2012-08-27T16:47:11.130 に答える