2

ユーザーが EditText フィールド (またはおそらく Datepicker) で日付を選択するようにしたいだけで、アプリはそれを SQLite データベースに保存します。(私は月の日のみを保存しているので、毎月特定の日 (1 日、10 日、22 日など) にポップアップします。) 通知システムがやって来て、その日付をチェックし、「リマインダー」を表示します。ステータスバーに通知が表示され、押されたときに特定の情報を更新するためにアプリに直接移動します。

ここの簡単なチュートリアル(「基本」セクション) に基づいて、通知がポップアップする「いつ」を決定するのは「いつ」変数ですか? もしそうなら、データベースから動的に生成された日付変数を入力することはできますか?

4

3 に答える 3

2

通知システムがやって来て、その日付をチェックし、ステータスバーに「リマインダー」通知を表示します。これを押すと、特定の情報を更新するためにアプリに直接移動します。

「通知システム」が「私が作成したアプリ」を意味する場合、これは可能です。AlarmManager指定した時刻にアラームをスケジュールし、BroadcastReceiverを作成して表示できるに制御をルーティングするために使用しますNotification

ここの簡単なチュートリアル (「基本」セクション) に基づいて、通知がポップアップする「いつ」を決定するのは「いつ」変数ですか?

いいえ。これは、表示目的で に関連付けられたタイムスタンプですNotification(たとえば、通知ドロワーに表示される場合があります)。

于 2012-06-05T19:11:10.663 に答える
0

はい Date には、ある時点からのミリ秒単位で表される long 値としてその値を返すメソッドがあります (System.currentTimeinMillis() が機能するのと同じ方法)。

long when = mDate.getTime();
于 2012-06-05T19:05:54.670 に答える
0

いいえ、「いつ」はイベントがいつ行われたかを示すものだと思います。このドキュメントを参照し、 を検索してくださいsetWhen(long when)

通知をすぐに表示したくない場合は、長時間実行されるサービスで独自のタイマーなどを設定する必要があります。サービスを実行し続けることができる場合は、Handlerクラス、特にpostAtTime()メソッドを見てください。

于 2012-06-05T19:09:49.990 に答える